FANDOM


Created by Taz.

Using "RC_Core.rcm"
; testingrc1 1.26
; Date/Time: 12:07:15 AM on 8/14/2011
; By Naddaz on NADCO

    ;-------------------Custom loot system--------------------------------
    ;NOTE LIST NEW ACTOR NAMES IN THIS LIST THAT SHOULD HAVE LOOTS ASSINED TO.

;Will run when target dies to give the proper loot to player.

;When done an execute will need to be placed in each spell as well as the atttack script.
Function Main()
  Player = Actor()
  PName$ = Name(Player)
  HumanPlayer% = ActorIsHuman(Player)
  ActorName$ = Parameter(1) ;get Name of the target. ContextActor()
  PlayerLevel% = ActorLevel(Player)

 ScriptLog("Custom loot script running by " + Pname)
   
    ;______________________________________________________________________________________________________________________________
 ;______________________________________________________________________________________________________________________________
  ;  Check sent from attacking ability/spell script to see if player is in a form so they can get xp for the form level.    
;______________________________________________________________________________________________________________________________
        ; SaberToothXp% = 0
       ; SaberCatXp% = 0
       ; VampXp% = 0
       ; VampFlyXp% = 0
       ; PandoraXp% = 0
       ; Xp2% = 0
       
        ;--------------------------------------------------------------------------------------------------------------------
  ;set xp if in any form   
   ;---------------------CUSTOM XP---------------------------------    
         ;give custom xp 
         
          
          
           XpCalc% =  PlayerLevel * 3  ;xp formula
          ExtraXp% = Rnd(17, 25) + PlayerLevel + XpCalc 

         ;End Custom xp     
     
         SaberToothXp% = Split(ActorGlobal(Player, 4), 1, "|")
        SaberCatXp% = Split(ActorGlobal(Player, 4), 2, "|")
        VampXp% = Split(ActorGlobal(Player, 4), 3, "|")
        VampFlyXp1% = Split(ActorGlobal(Player, 4), 4, "|")
        PandoraXp% = Split(ActorGlobal(Player, 4), 5, "|")
        PandoraRageBuld% = Split(ActorGlobal(Player, 4), 6, "|")

        
         
         ;get player race
        
                 PRace$ = Race(Player)     
                PClass$ = Class(Player)
                PlayerID% =ActorID(PRace, PClass)
        
             IsSaber% = ActorId("Saber Tooth", "Form")
            IsSAberCat% = ActorId("Saber Cat", "Form")
		    VampCheck% = ActorId("Vampire", "Form")
            IsVampfly% = ActorId("Vampire Flying", "Form")
            IsPandora% = ActorId("Pandora", "Form")
            
             If (PlayerID = IsPandora)
            
                 PandoraLevel% = AbilityLevel(Player, "Pandora Form")
                PandoraXp% = PandoraLevel * 2 + PandoraXp + ExtraXp + Rand(15, 35)
                
                
                  ;In pandora form give rage bonus and some rage back, when getting a kill.
                  AmountRage% = 100 ;set number to the amount of rage that will start bonuses.
                  CurrRage% = Attribute(Player, "Rage")
                  MaxRage% = MaxAttribute(Player, "Rage") 
                  BunRagtoadd% = PandoraLevel + Rand(5, 10) + PlayerLevel
                  TotBonRage% = MaxRage + BunRagtoadd       
                  
                  
                  If (MaxRage > AmountRage) ; if rage is less then bonus amount then dont let it stack the bonus
                      SetMaxAttribute(Player, "Rage", TotBonRage)
                      SetAttribute(Player, "Rage", TotBonRage)
                   Else ;stack bonus
                      TotBonRage% = 100 + BunRagtoadd
                      SetMaxAttribute(Player, "Rage", TotBonRage)
                      SetAttribute(Player, "Rage", TotBonRage)
                   EndIf
 
                 
                 ;when a pandora form player kills something they will get a Rage Bulider buff, which will incress there speed abit.
                    If (ActorHasEffect(Player, "Rage Builder")) 
                       AddActorEffect(Player, "Rage Builder", "Speed", + 7, 25, 243) ;give Rage Builder bonus
                    Else
                       AddActorEffect(Player, "Rage Builder", "Speed", + 7, 255, 243) ;give Rage Builder bonus
                    EndIf   
                    
                    
                    
               ;Send to levelup if Saber level should be given.
              If (PandoraXp >= PandoraLevel * 1000) ;if player has amount of xp need to level send them to level up
                ThreadExecute("LevelUp", "Main", Player, Target, 18) ;parameter for Herbing = 8 
                PandoraXp% = 0 ;give 0 xp after level up  
              EndIf
              IsPandora% = 1              
                            
              
             EndIf  ;end pandora check
        
                    
            
          If (PlayerID = IsSaber) ;Give saber tooth xp
                SaberLevel% = AbilityLevel(Player, "Saber Tooth Form")
                SaberToothXp% = SaberLevel * 2 + SaberToothXp + ExtraXp + Rand(15, 35)

               
          
              ;Send to levelup if Saber level should be given.
              If (SaberToothXp >= SaberLevel * 1000) ;if player has amount of xp need to level send them to level up

                ThreadExecute("LevelUp", "Main", Player, Target, 14) ;parameter for Herbing = 8 
                SaberToothXp% = 0 ;give 0 xp after level up  
              EndIf
                IsSaber% = 1
            EndIf
            
             If (PlayerID = IsSaberCat)  
                SaberCatLevel% = AbilityLevel(Player, "Saber Tooth Cat Form")
                SaberCatXp% = SaberCatLevel * 2 + SaberCatXp + ExtraXp + Rand(15, 35)
               
               If (SaberCatXp >= SaberCatLevel * 1000) ;if player has amount of xp need to level send them to level up
                ThreadExecute("LevelUp", "Main", Player, Target, 15) ;parameter for Herbing = 8 
                SaberCatXp% = 0 ;give 0 xp after level up  
              EndIf
                IsSaberCat% = 1
            EndIf
            
             If (PlayerID = VampCheck) ;if vamp 
                VampLevel% = AbilityLevel(Player, "Vamp Form") 
                VampXp% = VampLevel * 2 + VampXp + ExtraXp + Rand(15, 35)
               
                 If (VampXp >= VampLevel * 1000) ;if player has amount of xp need to level send them to level up

                    ThreadExecute("LevelUp", "Main", Player, Target, 16) ;parameter for Herbing = 8 
                    VampXp% = 0 ;give 0 xp after level up  
                
                EndIf
                VampCheck% = 1
                
            EndIf
                      
            If (PlayerID = IsVampfly)
                VampFlyLevel% = AbilityLevel(Player, "Vamp Fly")
                VampFlyXp% = VampFlyLevel * 2 + VampFlyXp + ExtraXp + Rand(15, 35)
                
              If (VampFlyXp >= VampFlyLevel * 1000) ;if player has amount of xp need to level send them to level up

                ThreadExecute("LevelUp", "Main", Player, Target, 17) ;parameter for Herbing = 8 
                VampFlyXp% = 0 ;give 0 xp after level up  
       
               EndIf
              IsVampfly% = 1
            EndIf

       If (IsSaber = 1) or (IsSAberCat = 1) or (VampCheck = 1) or (IsVampfly = 1)  or (IsPandora = 1)
       
         SkillBar1% = Split(ActorGlobal(Player, 4), 7, "|")
        SkillBar2% = Split(ActorGlobal(Player, 4), 8, "|")
        SkillBar3% = Split(ActorGlobal(Player, 4), 9, "|")
        SkillBar4% = Split(ActorGlobal(Player, 4), 10, "|")
        Extra1% = Split(ActorGlobal(Player, 4), 11, "|")
        Extra2% = Split(ActorGlobal(Player, 4), 12, "|")
        Extra3% = Split(ActorGlobal(Player, 4), 13, "|")
        Extra4% = Split(ActorGlobal(Player, 4), 14, "|")
        Extra5% = Split(ActorGlobal(Player, 4), 15, "|")
        Extra6% = Split(ActorGlobal(Player, 4), 16, "|")
        Extra7% = Split(ActorGlobal(Player, 4), 17, "|")
        Extra8% = Split(ActorGlobal(Player, 4), 18, "|")
        Extra9% = Split(ActorGlobal(Player, 4), 19, "|")
         
                 
          SkillXPToStore3$ = SaberToothXp + "|" + SaberCatXp + "|" + VampXp + "|" + VampFlyXP + "|" +  PandoraXp + "|" + PandoraRageBuld + "|" + SkillBar1 + "|" + SkillBar2 + "|" + SkillBar3 + "|" + SkillBar4 + "|" + Extra1 + "|" + Extra2 + "|" + Extra3 + "|" + Extra4 + "|" + Extra5 + "|" + Extra6 + "|" + Extra7 + "|" + Extra8 + "|" + Extra9
          SetActorGlobal(Player, 4, SkillXPToStore3) ;set dilimiter to actor global 2 with new melee xp amount
       EndIf
 
 ;______________________________________________________________________________________________________________________________
    
    
    
    
     
    If (HumanPlayer = 1) ;Human target check
   ;if target is an npc then continue with picking the right loot. 
   
    ;LIST OF ACTOR NAMES MAKE SURE THEY MATCH WITH NAMES IN THE GUE
   DoEvents(500)
   GiveItem(Player, "Bones") ;give 1 bones for now till we have other things for bones as drops
 
    
      ;==================================================================================================
     
   ;------Ramoria Field Mob list---------
    TrollLoot$ = "Troll"
    BabyLarLoot$ = "Baby Larvae"
    LarvaeLoot$ = "Larvae"
    KrysLoot$ = "Krystalics"
    FatRedLar$ = "Fat Larvae"
    
         If (ActorName = FatRedLar)  
            ThreadExecute("Loot_Fat Larvae", "Main", Player, 0)
            Return
        EndIf
     
         If (ActorName = TrollLoot) ;troll loot
           ; ThreadExecute("Loot_Boss Spider", "Main", Player, 0) ;Execute to the proper loot script
            Return
        EndIf
 
 
             If (ActorName = BabyLarLoot) ;Baby Larvae
             ThreadExecute("Loot_Baby Larvae", "Main", Player, 0) ;Execute to the proper loot script
            
              Return
            EndIf    
             
               If (ActorName = LarvaeLoot) ;Larvae
               ThreadExecute("Loot_Larvae", "Main", Player, 0) ;Execute to the proper loot script
                
               Return
              EndIf
    
                 If (ActorName = KrysLoot) ;Krystalics
                 ThreadExecute("Loot_Krystalics", "Main", Player, 0) ;Execute to the proper loot script
                 Return
                EndIf
    
     
     
   ;-----End Ramoria Field Mob list----------  
  
   ;==================================================================================================
  
   
  ;------Damoria Mob List---------
 
  WSpiderLoot$ = "Wild Spider"
 SnapLoot$ = "Snappler"
 SpeSpiderLoot$ = "Spectal Spider"
 KryLoot$ = "Krystalics"
 RelicLoot$ = "Relica"
 
         If (ActorName = WSpiderLoot) ;Wild Spider
            ThreadExecute("Loot_Spider", "Main", Player, 0) ;Execute to the proper loot script
            Return            
        EndIf
  
         If (ActorName = SnapLoot) ;Snappler
           ;ThreadExecute("Loot_Bear", "Main", Player, 0) ;Execute to the proper loot script
            Return
        EndIf
  
         If (ActorName = SpeSpiderLoot) ;Spectal Spider
            ThreadExecute("Loot_Spider", "Main", Player, 0) ;Execute to the proper loot script
            Return
        EndIf
         
          If (ActorName = KryLoot) ;Krystalics
            ThreadExecute("Loot_Krystalics", "Main", Player, 0) ;Execute to the proper loot script
            Return
        EndIf
         
         If (ActorName = RelicLoot) ;Relica
            ;ThreadExecute("Loot_Spider", "Main", Player, 0) ;Execute to the proper loot script
            Return
        EndIf  
         
  ;-----End Alanon Mob List---------
    
 
     
 
 
 ;------------Misc Mobs-----------------
;    RareBearLoot$ = "Rare Bear"


;        If (ActorName = RareBearLoot)
;            ThreadExecute("Loot_rare bear", "Main", Player, 0) ;Execute to the proper loot script
;            Return
;        EndIf
     
 ;-----------End Misc Mobs--------------    


;----------Other mobs-----------------

;bushaka
 bushakaLoot$ = "bushaka" 
         If (ActorName = bushakaLoot) ;bushaka plant like mob give herb drops
            ;ThreadExecute("Loot_Misc", "Main", Player, 0) ;Execute to the proper loot script
            Return
        EndIf
 
 
 
 ;----------End other mobs--------------    
     EndIf  ;End human check
     
     ;------------------End Custom loot system-------------------------------
    
     
     
     
     
     
     
     
     
     
 End Function