Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [FUNCTION F_SET_PENTAGRAM_COLOR]
- FORITEMS 3
- IF (<BASEID> == i_pentagram)
- COLOR=<ARGN1>
- ENDIF
- ENDFOR
- [FUNCTION RANDOMDOUBLE]
- IF (<ARGN1>)
- LOCAL.VAL=<EVAL <ARGN1>*1000000>
- ELSE
- LOCAL.VAL=1000000
- ENDIF
- FLOAT.RANDOM=<FLOATVAL <R<dLOCAL.VAL>>/1000000>
- RETURN <FLOAT.RANDOM>
- [FUNCTION RANDOMMONSTERGROUP]
- TAG.RANDOM=1
- DORAND 7
- TAG.MONSTERGROUP=Abyss
- TAG.MONSTERGROUP=ColdBlood
- TAG.MONSTERGROUP=ForestLord
- TAG.MONSTERGROUP=UnholyTerror
- TAG.MONSTERGROUP=VerminHord
- TAG.MONSTERGROUP=Arachnid
- TAG.MONSTERGROUP=SleepingDragon
- ENDDO
- [FUNCTION F_REMOVEALLMINIONS]
- while (!(<ISEMPTY <LIST.ChampionIdol_<UID>>>))
- REF1=<LIST.ChampionIdol_<UID>.0>
- REF1.Remove
- endwhile
- LIST.ChampionIdol_<UID>.Clear
- [FUNCTION QUANTOSMONSTROS]
- LOCAL.LESSMONSTERS=<EVAL <TAG0.NOTYET>*2>
- IF (<LOCAL.LESSMONSTERS> > 6)
- LOCAL.LESSMONSTERS=6
- ENDIF
- IF (<MOREX> <= 4)
- RETURN 64
- ELIF (<MOREX> <= 9)
- RETURN 32
- ELIF (<MOREX> <= 13)
- RETURN 16
- ELSE
- RETURN <EVAL 8-<LOCAL.LESSMONSTERS>>
- ENDIF
- [FUNCTION F_MONSTERLEVEL]
- IF (<MOREX> <= 4)
- RETURN 1
- ELIF (<MOREX> <= 9)
- RETURN 2
- ELIF (<MOREX> <= 13)
- RETURN 3
- ELSE
- RETURN 4
- ENDIF
- [FUNCTION F_CHAMPION_UPONELEVEL]
- IF (!(<ISEMPTY <LIST.ChampionIdol_<UID>>>))
- FOR 0 <EVAL <LIST.ChampionIdol_<UID>.COUNT>-1>
- REF1=<LIST.ChampionIdol_<UID>.<dLOCAL._FOR>>
- IF ((!<REF1.MEMORYFINDTYPE.memory_fight>) && (<REF1.TAG0.Champion.Level> == <ARGN1>) && (<REF1> != <ARGN2>))
- IF (<FLOATVAL 0.65> > <RANDOMDOUBLE>)
- REF1.Remove
- LOCAL.MoreMonsters ++
- ENDIF
- ENDIF
- ENDFOR
- ENDIF
- IF (<LOCAL.MOREMONSTERS> == 0)
- LOCAL.MoreMonsters=1
- ENDIF
- RETURN <dLOCAL.MoreMonsters>
- [FUNCTION F_CHAMPIONSKULL_NAME]
- IF (STRMATCH(*Semidar*,<NAME>))
- RETURN Pain
- ELIF (STRMATCH(*Barracoon*,<NAME>))
- RETURN Greed
- ELIF (STRMATCH(*Lord Oaks*,<NAME>))
- RETURN Enlightenment
- ELIF (STRMATCH(*Mephitis*,<NAME>))
- RETURN Venom
- ELIF (STRMATCH(*Rikktor*,<NAME>))
- RETURN Power
- ELIF (STRMATCH(*Neira*,<NAME>))
- RETURN Death
- ENDIF
- RETURN That is bugged OMFGLOL
- [FUNCTION CANDLEP]
- DOSWITCH <EVAL <ARGN1>-1>
- BEGIN
- MOVE NW
- MOVE NW
- END
- BEGIN
- MOVE N
- MOVE N
- MOVE W
- END
- BEGIN
- MOVE N
- MOVE N
- END
- BEGIN
- MOVE N
- MOVE N
- MOVE E
- END
- BEGIN
- MOVE E
- MOVE E
- MOVE N
- MOVE N
- END
- BEGIN
- MOVE E
- MOVE E
- MOVE N
- END
- BEGIN
- MOVE E
- MOVE E
- END
- BEGIN
- MOVE E
- MOVE E
- MOVE S
- END
- BEGIN
- MOVE E
- MOVE E
- MOVE S
- MOVE S
- END
- BEGIN
- MOVE S
- MOVE S
- MOVE E
- END
- BEGIN
- MOVE S
- MOVE S
- END
- BEGIN
- MOVE S
- MOVE S
- MOVE W
- END
- BEGIN
- MOVE S
- MOVE S
- MOVE W
- MOVE W
- END
- BEGIN
- MOVE S
- MOVE W
- MOVE W
- END
- BEGIN
- MOVE W
- MOVE W
- END
- BEGIN
- MOVE N
- MOVE W
- MOVE W
- END
- ENDDO
- FIX
- NUDGEUP 1
- [FUNCTION WHITESKULLLOC]
- DOSWITCH <EVAL <ARGN1>-1>
- BEGIN
- MOVE S
- MOVE W
- END
- BEGIN
- MOVE S
- MOVE E
- END
- BEGIN
- MOVE N
- MOVE W
- END
- BEGIN
- MOVE N
- MOVE E
- END
- ENDDO
- FIX
- [FUNCTION REMOVEWHITECANDLES]
- FOR <TAG0.WHITESKULLS>
- TRY UID.<TAG0.WHITESKULLS.<dLOCAL._FOR>>.REMOVE
- TAG.WHITESKULLS
- TRY TAG.WHITESKULLS.<dLOCAL._FOR>
- ENDFOR
- //////////////////////////////
- [ITEMDEF i_champion_idol]
- ID=01f18
- TYPE=T_NORMAL
- NAME=Champion Idol
- ON=@Create
- ATTR |= <DEF.ATTR_MOVE_NEVER>
- ON=@Dclick
- IF (<SRC.ISGM>)
- SDIALOG D_CUSTOM_CHAMP
- RETURN 1
- ENDIF
- ON=@Destroy
- TRIGGER @UpdateMinionList
- ON=@UpdateMinionList
- F_REMOVEALLMINIONS
- ON=@Timer
- IF (<TAG0.IDLE>)
- TAG.IDLE=
- F_SET_PENTAGRAM_COLOR 03a5
- TAG.VALORTIMES=
- TIMER=<EVAL 60*60*<R4,6>>
- IF (<MAP> == 2) || (<MAP> == 3)
- TIMER=<EVAL 60*10>
- ENDIF
- ELIF (!(<TAG0.ACTIVE>)) && (!(<TAG0.IDLE>))
- SERV.LOG @ChampSYS Spawn activating (<TAG.MONSTERGROUP> / <REGION.NAME> (<P>)).
- LIST.ChampionIdol_<UID>.CLEAR
- REGION.FLAGS &= ~<DEF.region_flag_nodecay>
- REGION.FLAGS &= ~<DEF.region_antimagic_teleport>
- REGION.FLAGS |= <HVAL <DEF.region_flag_announce>|<DEF.region_antimagic_recall_in>|<DEF.region_antimagic_recall_out>|<DEF.region_antimagic_gate>>
- IF (<TAG0.RANDOM>)
- DORAND 7
- TAG.MONSTERGROUP=Abyss
- TAG.MONSTERGROUP=ColdBlood
- TAG.MONSTERGROUP=ForestLord
- TAG.MONSTERGROUP=UnholyTerror
- TAG.MONSTERGROUP=VerminHord
- TAG.MONSTERGROUP=Arachnid
- TAG.MONSTERGROUP=SleepingDragon
- ENDDO
- ENDIF
- IF (<TAG0.MAXSPAWNS>)
- LOCAL.MONSTERSTOSPAWN=<TAG0.MAXSPAWNS>
- ELSE
- LOCAL.MONSTERSTOSPAWN=<DEF.scp.Champions_TotalMonsters>
- ENDIF
- FOR <LOCAL.MONSTERSTOSPAWN>
- SERV.NEWNPC <HVAL <DEF.champ_<TAG0.MONSTERGROUP>_1>>
- NEW.REMOVEFROMVIEW
- NEW.FLAGS |= <DEF.STATF_INVISIBLE>
- NEW.TAG.CHAMPION.LEVEL=1
- NEW.P=<P>
- NEW.MOVE <HVAL {-<TAG0.RANGE> <TAG0.RANGE>}> <HVAL {-<TAG0.RANGE> <TAG0.RANGE>}>
- //IF (<MAP> == 2)
- //NEW.F_CREATE_PARAGON 1
- //ENDIF
- NEW.FIX
- WHILE (<NEW.ISSTUCK>) || (<NEW.ISNEARTYPE T_WATER>) || (<NEW.P.TERRAIN> == 0244) || (<NEW.ISNEARTYPE T_WALL>)
- NEW.P=<P>
- NEW.MOVE <HVAL {-<TAG0.RANGE> <TAG0.RANGE>}> <HVAL {-<TAG0.RANGE> <TAG0.RANGE>}>
- NEW.FIX
- ENDWHILE
- NEW.HOME=<NEW.P>
- NEW.HOMEDIST=6
- NEW.FLAGS &= ~<DEF.STATF_INVISIBLE>
- NEW.UPDATE
- NEW.TAG.CHAMPIONIDOL=<UID>
- LIST.ChampionIdol_<UID>.ADD <NEW>
- NEW.EVENTS +E_CHAMPION_MINION
- ENDFOR
- MORE1=0
- MOREX=1
- TAG.CANDLES=
- SERV.NEWITEM i_skull_candle
- NEW.TAG.ALWAYSSEND=1
- NEW.COLOR=33
- NEW.TIMER -1
- NEW.ATTR=ATTR_MOVE_NEVER
- TAG0.CANDLES ++
- TRY TAG0.CANDLE.<dTAG0.CANDLES>=<NEW>
- NEW.P=<P>
- NEW.CANDLEP=<TAG0.CANDLES>
- TAG.ACTIVE=1
- TIMER=-1
- F_SET_PENTAGRAM_COLOR 0
- TAG.VALORTIMES=1
- ELIF (<FLOATVAL <MORE1>> >= <FLOATVAL (<QUANTOSMONSTROS>*20)/100>)
- REMOVEWHITECANDLES
- MORE1=0
- TIMER=<DEF.scp.Champions_LevelMinutes>
- ELIF (<FLOATVAL <MORE1>> < <FLOATVAL (<QUANTOSMONSTROS>*20)/100>)
- REMOVEWHITECANDLES
- MORE1=0
- IF (<MOREX> != 1)
- UID.<TAG0.CANDLE.<dTAG0.CANDLES>>.REMOVE
- TAG.CANDLE.<dTAG0.CANDLES>
- TAG0.CANDLES --
- MOREX --
- TIMER=<DEF.scp.Champions_LevelMinutes>
- REGION.LIGHT=<EVAL <MOREX>+1>
- ELSE
- REGION.LIGHT=1
- TAG.VALORTIMES=1
- TIMER=-1
- ENDIF
- ENDIF
- TAG.NOTYET
- RETURN 1
- [EVENTS E_CHAMPION_MINION]
- ON=@Destroy
- LOCAL.Idol=<TAG0.ChampionIdol>
- IF (!(<ISEMPTY <LIST.ChampionIdol_<LOCAL.Idol>>>))
- LOCAL.Index=<LIST.ChampionIdol_<LOCAL.Idol>.FindElem <UID>>
- IF (<LOCAL.Index> != -1)
- LIST.ChampionIdol_<LOCAL.Idol>.<dLOCAL.Index>.Remove
- ENDIF
- ENDIF
- ON=@DeathCorpse
- LOCAL.OLDNEW=<NEW>
- ARGO.TIMER=60
- REF1=<TAG0.CHAMPIONIDOL>
- IF (<REF1.TAG0.ACTIVE>) && (!(<REF1.TAG0.CHAMPIONUP>))
- IF (<REF1.MORE1> == 0) && (<REF1.MOREX> == 1)
- REF1.TIMER=<DEF.scp.Champions_LevelMinutes>
- REF1.TIMERF <DEF.CHAMPIONCOMPLETETIME>,F_CHAMPION_TIMEOUT_RESET
- ENDIF
- IF (<TAG0.CHAMPION.LEVEL> >= <REF1.F_MONSTERLEVEL>)
- REF1.MORE1 ++
- IF (<REF1.MORE1> >= <REF1.QUANTOSMONSTROS>)
- REF1.TIMER=<DEF.scp.Champions_LevelMinutes>
- ENDIF
- IF ((<REF1.MORE1> >= <REF1.QUANTOSMONSTROS>) && (<REF1.MOREX> != 16))
- REF1.MORE1=0
- REF1.MOREX ++
- REF1.REGION.LIGHT=<EVAL <REF1.MOREX>+1>
- REF1.REGION.FLAGS &= ~<DEF.region_flag_nodecay>
- REF1.REGION.FLAGS &= ~<DEF.region_antimagic_teleport>
- REF1.REGION.FLAGS |= <HVAL <DEF.region_flag_announce>|<DEF.region_antimagic_recall_in>|<DEF.region_antimagic_recall_out>|<DEF.region_antimagic_gate>>
- SERV.NEWITEM i_skull_candle
- NEW.TAG.ALWAYSSEND=1
- NEW.COLOR=33
- NEW.TIMER -1
- NEW.ATTR=ATTR_MOVE_NEVER
- REF1.TAG0.CANDLES ++
- REF1.TAG0.CANDLE.<dREF1.TAG0.CANDLES>=<NEW>
- NEW.P=<REF1.P>
- NEW.CANDLEP=<REF1.TAG0.CANDLES>
- REF1.REMOVEWHITECANDLES
- IF (<REF1.F_MONSTERLEVEL> > <TAG0.CHAMPION.LEVEL>)
- LOCAL.MONSTERS=<REF1.F_CHAMPION_UPONELEVEL <TAG0.CHAMPION.LEVEL> <UID>>
- LOCAL.LEVELUP=1
- ENDIF
- ELIF (<REF1.MORE1> == <REF1.QUANTOSMONSTROS>) && (<FLOATVAL 0.75> > <RANDOMDOUBLE>) && (<REF1.MOREX> == 16)
- SERV.NEWNPC <DEF.champ_<REF1.TAG0.MONSTERGROUP>_champion>
- NEW.TAG.CHAMPIONIDOL=<REF1.UID>
- NEW.EVENTS +e_champion
- NEW.P=<REF1.P>
- NEW.HOME=<REF1.P>
- NEW.HOMEDIST=15
- NEW.UPDATE
- REF1.TIMERF CLEAR
- REF1.REGION.LIGHT=20
- REF1.F_SET_PENTAGRAM_COLOR 33
- FOR <REF1.TAG0.CANDLES>
- UID.<REF1.TAG0.CANDLE.<dLOCAL._FOR>>.REMOVE
- TRY REF1.TAG.CANDLE.<dLOCAL._FOR>
- REF1.TAG0.CANDLES --
- ENDFOR
- REF1.TAG.CANDLES
- REF1.TAG.NOTYET
- REF1.REMOVEWHITECANDLES
- REF1.TAG.CHAMPIONUP=1
- REF1.TIMER=-1
- ELIF (<REF1.MOREX> == 16) && (<REF1.MORE1> == <REF1.QUANTOSMONSTROS>)
- REF1.REMOVEWHITECANDLES
- REF1.TAG0.NOTYET ++
- REF1.MORE1=0
- ELSE
- IF (<REF1.MORE1> == <EVAL (<REF1.QUANTOSMONSTROS>*20)/100>) || (<REF1.MORE1> == <EVAL (<REF1.QUANTOSMONSTROS>*40)/100>) || (<REF1.MORE1> == <EVAL (<REF1.QUANTOSMONSTROS>*60)/100>) || (<REF1.MORE1> == <EVAL (<REF1.QUANTOSMONSTROS>*80)/100>)
- SERV.NEWITEM i_skull_candle
- NEW.TAG.ALWAYSSEND=1
- NEW.TIMER -1
- NEW.P=<REF1.P>
- NEW.ATTR=ATTR_MOVE_NEVER
- REF1.TAG0.WHITESKULLS ++
- TRY REF1.TAG.WHITESKULLS.<dREF1.TAG0.WHITESKULLS>=<NEW>
- NEW.WHITESKULLLOC <REF1.TAG0.WHITESKULLS>
- NEW.EFFECT 2,03728,3,20
- NEW.SOUND 029
- ENDIF
- ENDIF
- ENDIF
- // IF (<ATTACKER>)
- // REF25=<ATTACKER.MAX>
- IF (<combate.attackers>)
- REF25=<combate.target>
- IF (<FLOATVAL 0.001> > <RANDOMDOUBLE>) && ((<MAP> == 0) || (<MAP> == 1))
- LOCAL.OLDNEW=<NEW>
- SERV.NEWITEM I_POWER_SCROLL
- NEW.MORE2=50
- NEW.name=<NEW.POWERSCROLLNAME> Power Scroll of <SERV.SKILL.<NEW.MORE1>.NAME> (105 Skill)
- REF25.TRIGGER @ReceivePowerScroll
- REF25.BOUNCE <NEW>
- REF25.sysmessage @,,2 1049524
- NEW=<LOCAL.OLDNEW>
- ENDIF
- IF (<FLOATVAL 0.001> > <RANDOMDOUBLE>)
- LOCAL.OLDNEW=<NEW>
- SERV.NEWITEM I_SCROLL_TRANSCENDENCE
- REF25.TRIGGER @ReceiveTranscendenceScroll
- REF25.BOUNCE <NEW>
- NEW=<LOCAL.OLDNEW>
- ENDIF
- ENDIF
- IF (<REF1.F_MONSTERLEVEL> == 2) && (<TAG0.CHAMPION.LEVEL> == 1)
- LOCAL.NOTFROMTHISLEVEL=1
- ELIF (<REF1.F_MONSTERLEVEL> == 3) && ((<TAG0.CHAMPION.LEVEL> == 1) || (<TAG0.CHAMPION.LEVEL> == 2))
- LOCAL.NOTFROMTHISLEVEL=1
- ELIF (<REF1.F_MONSTERLEVEL> == 4) && ((<TAG0.CHAMPION.LEVEL> == 1) || (<TAG0.CHAMPION.LEVEL> == 2) || (<TAG0.CHAMPION.LEVEL> == 3))
- LOCAL.NOTFROMTHISLEVEL=1
- ENDIF
- LOCAL.Monsters ++
- FOR <dLOCAL.Monsters>
- IF (<LOCAL.LEVELUP>) || (<LOCAL.NOTFROMTHISLEVEL>)
- SERV.NEWNPC <DEF.champ_<REF1.TAG0.MONSTERGROUP>_<REF1.F_MonsterLevel>>
- ELSE
- SERV.NEWNPC <BASEID>
- ENDIF
- NEW.REMOVEFROMVIEW
- NEW.FLAGS |= <DEF.STATF_INVISIBLE>
- NEW.TAG.CHAMPION.LEVEL=<REF1.F_MONSTERLEVEL>
- NEW.P=<REF1.P>
- NEW.MOVE <HVAL {-<REF1.TAG0.RANGE> <REF1.TAG0.RANGE>}> <HVAL {-<REF1.TAG0.RANGE> <REF1.TAG0.RANGE>}>
- // IF (<REF1.MAP> == 2)
- // NEW.F_CREATE_PARAGON 1
- // ENDIF
- NEW.FIX
- WHILE (<NEW.ISSTUCK>) || (<NEW.ISNEARTYPE T_WATER>) || (<NEW.P.TERRAIN> == 0244) || (<NEW.ISNEARTYPE T_WALL>)
- NEW.P=<REF1.P>
- NEW.MOVE <HVAL {-<REF1.TAG0.RANGE> <REF1.TAG0.RANGE>}> <HVAL {-<REF1.TAG0.RANGE> <REF1.TAG0.RANGE>}>
- NEW.FIX
- ENDWHILE
- NEW.HOME=<NEW.P>
- NEW.HOMEDIST=6
- NEW.FLAGS &= ~<DEF.STATF_INVISIBLE>
- NEW.UPDATE
- NEW.TAG.CHAMPIONIDOL=<REF1.UID>
- LIST.ChampionIdol_<REF1.UID>.ADD <NEW>
- NEW.EVENTS +E_CHAMPION_MINION
- ENDFOR
- ENDIF
- NEW=<LOCAL.OLDNEW>
- [EVENTS e_champion]
- ON=@DEATHCORPSE
- FOR 6
- serv.newitem=i_fire_column
- new.p=<p>
- new.move <R5>,<R5>
- new.attr=attr_move_never|attr_decay
- new.timer=20
- ENDFOR
- serv.newitem=i_gold_champion
- new.p=<p>
- new.timer=1
- ON=@Death
- REF1=<TAG0.CHAMPIONIDOL>
- REF1.TAG.CHAMPIONUP=
- REF1.TIMERF CLEAR
- REF1.REGION.LIGHT=1
- REF1.REGION.FLAGS &= ~<HVAL <DEF.region_antimagic_teleport>|<DEF.region_antimagic_recall_out>|<DEF.region_antimagic_gate>|<DEF.region_flag_nodecay>>
- LIST.ChampionPowerScroll.ADD=0
- LIST.ReceivedPowerScroll.ADD=0
- IF (<ATTACKER>)
- FOR 0 <EVAL <ATTACKER>-1>
- IF (<ATTACKER.<dLOCAL._FOR>.DAM>)
- REF2=<ATTACKER.<dLOCAL._FOR>>
- IF (<REF2.FLAGS>&STATF_PET)
- REF2=<REF2.OWNER>
- ENDIF
- IF (<LIST.ChampionPowerScroll.FINDELEM <REF2>> == -1) && (<REF2.ISPLAYER>)
- LIST.ChampionPowerScroll.ADD=<REF2>
- ENDIF
- ENDIF
- ENDFOR
- IF (<LIST.ChampionPowerScroll.COUNT> > 1)
- LIST.ChampionPowerScroll.0.REMOVE
- LOCAL.TOTALPOWERSCROLLSTOBEGIVEN=<LIST.ChampionPowerScroll.COUNT>
- IF (<LOCAL.TOTALPOWERSCROLLSTOBEGIVEN> > 6)
- LOCAL.TOTALPOWERSCROLLSTOBEGIVEN=6
- ENDIF
- WHILE (<EVAL <LIST.ReceivedPowerScroll.COUNT>-1> < <LOCAL.TOTALPOWERSCROLLSTOBEGIVEN>)
- REF2=<LIST.ChampionPowerScroll.<R<LIST.ChampionPowerScroll.COUNT>>>
- IF (<LIST.ReceivedPowerScroll.FINDELEM <REF2>> == -1)
- IF (<MAP> == 0)
- LOCAL.OLDNEW=<NEW>
- SERV.NEWITEM=i_power_scroll
- IF (!(<REF2.FLAGS>&STATF_DEAD))
- REF2.BOUNCE <NEW>
- ELSE
- NEW.P=<REF2.P>
- NEW.UPDATE
- ENDIF
- NEW=<LOCAL.OLDNEW>
- REF2.TRIGGER @ReceivePowerScroll
- REF2.sysmessage @,,2 1049524
- ENDIF
- IF ((<FLOATVAL 0.35> > <RANDOMDOUBLE>) && (!(<LOCAL.GAVEREWARD>)))
- LOCAL.OLDNEW=<NEW>
- SERV.NEWITEM <DEF.champ_<REF1.TAG0.MONSTERGROUP>_REWARD>
- REF2.BOUNCE <NEW>
- LOCAL.GAVEREWARD=1
- NEW=<LOCAL.OLDNEW>
- ENDIF
- IF (<BASEID> != c_meraktus)
- TRY REF2.TAG0.CHAMPION.<BASEID>=<EVAL <REF2.TAG0.CHAMPION.<BASEID>>+1>
- IF (!(<REF2.FINDID.i_champion_title_<BASEID>>))
- SERV.NEWITEM=i_champion_title_<BASEID>,1,<REF2.UID>
- NEW.TIMER=<EVAL 60*60*24*3>
- ELIF (<REF2.FINDID.i_champion_title_<BASEID>>)
- TRY REF2.FINDID.i_champion_title_<BASEID>.TIMER=<EVAL 60*60*24*3>
- ENDIF
- ENDIF
- LIST.ReceivedPowerScroll.ADD <REF2.UID>
- ENDIF
- ENDWHILE
- ENDIF
- IF ((<MAP> == 0) || (<MAP> == 1)) && (<TAG0.CHAMPIONSKULL.COLOR>)
- REF3=<ATTACKER.MAX>
- SERV.NEWITEM i_champion_skull
- NEW.NAME=Skull of <F_CHAMPIONSKULL_NAME>
- NEW.COLOR=<TAG0.CHAMPIONSKULL.COLOR>
- REF3.BOUNCE <NEW>
- ENDIF
- ENDIF
- LIST.ChampionPowerScroll.CLEAR
- LIST.ReceivedPowerScroll.CLEAR
- IF (<REF1.UID>)
- REF1.TAG.ACTIVE
- REF1.MORE1=0
- REF1.MOREX=0
- REF1.TIMER <EVAL 60*20>
- IF !(<MAP>)
- SERV.NEWITEM i_moongate_blue
- NEW.TAG.ALWAYSSEND=1
- NEW.P=<REF1.P>
- NEW.MOREP=5146,1759
- NEW.COLOR=038b
- NEW.TIMER 60*10
- NEW.ATTR=ATTR_MOVE_NEVER|ATTR_DECAY|ATTR_CAN_DECAY
- NEW.FIX
- ENDIF
- REF1.TAG.IDLE=1
- REF1.Trigger @UpdateMinionList
- REF1.F_SET_PENTAGRAM_COLOR 55
- ENDIF
- ///////////////////////////
- /////////Gold Champion////
- [itemdef i_gold_champion]
- NAME=champion gold
- ID=i_worldgem_bit
- TYPE=t_script
- ON=@create
- color=084d
- attr=attr_invis|attr_move_never|attr_decay
- on=@timer
- if (!(<tag0.zombie.uid>))
- serv.newnpc=c_zombie
- new.removefromview
- new.name=gold spawn checker
- new.npc=brain_human
- new.flags=<DEF.statf_invisible>|<DEF.statf_insubstantial>|<DEF.statf_stone>
- new.karma=10000
- tag.zombie.uid=<new.uid>
- endif
- REF1=<tag0.zombie.uid>
- serv.newitem=i_gold
- new.amount=<R1000,2500>
- new.attr |= <DEF.attr_invis>
- new.p=<p>
- new.attr=attr_decay|attr_can_decay
- new.timer=100
- new.move <r10>,<r10>
- new.fix
- REF1.FLAGS=<DEF.statf_invisible>|<DEF.statf_insubstantial>|<DEF.statf_stone>
- REF1.p=<new.p>
- REF1.fix
- WHILE (<REF1.ISSTUCK>) && (<LOCAL._WHILE> < 400) //try 400 times to find a good spot
- new.p=<p>
- new.move <r10>,<r10>
- new.fix
- REF1.FLAGS=<DEF.statf_invisible>|<DEF.statf_insubstantial>
- REF1.p=<new.p>
- REF1.fix
- ENDWHILE
- new.attr &= ~<DEF.attr_invis>
- tag0.goldamount += <new.amount>
- IF (<tag0.goldamount> >= <def.champion_goldprize>)
- REF1.REMOVE
- REMOVE
- ELSE
- timerd 5
- ENDIF
- return 1
- ////////////////////////
- [ITEMDEF i_champion_skull]
- ID=i_bone_skull
- NAME=Champion Skull
- TAG.NOVENDOR=1
- ON=@Create
- ATTR=ATTR_CURSED
- COLOR=03a0
- //////////////////////////
- [ITEMDEF i_champion_spawn]
- NAME=Champion Spawn
- ID=i_stairs_stone
- TYPE=t_multi
- CATEGORY=Addon
- SUBSECTION=Champs
- DESCRIPTION=Champion Spawn
- MULTIREGION=-42,-42,42,42
- COMPONENT=i_stairs_stone 1 0 0 0
- COMPONENT=i_stairs_stone -1 0 0 0
- COMPONENT=i_stairs_stone 0 1 0 0
- COMPONENT=i_stairs_stone 1 1 0 0
- COMPONENT=i_stairs_stone -1 1 0 0
- COMPONENT=i_stairs_stone 0 -1 0 0
- COMPONENT=i_stairs_stone 1 -1 0 0
- COMPONENT=i_stairs_stone -1 -1 0 0
- COMPONENT=03ef 0 2 0 0
- COMPONENT=03ef -1 2 0 0
- COMPONENT=03ef 1 2 0 0
- COMPONENT=03f8 2 2 0 0
- COMPONENT=03f6 -2 2 0 0
- COMPONENT=03f2 -2 1 0 0
- COMPONENT=03f2 -2 0 0 0
- COMPONENT=03f2 -2 -1 0 0
- COMPONENT=03f3 -2 -2 0 0
- COMPONENT=03f1 -1 -2 0 0
- COMPONENT=03f1 0 -2 0 0
- COMPONENT=03f1 1 -2 0 0
- COMPONENT=03f5 2 -2 0 0
- COMPONENT=03f0 2 -1 0 0
- COMPONENT=03f0 2 0 0 0
- COMPONENT=03f0 2 1 0 0
- COMPONENT=0fea 0 0 5 0
- COMPONENT=0fee 1 0 5 0
- COMPONENT=i_pentagram -1 0 5 0
- COMPONENT=0fec 0 1 5 0
- COMPONENT=0fed 1 1 5 0
- COMPONENT=0fe9 -1 1 5 0
- COMPONENT=0fe8 0 -1 5 0
- COMPONENT=0feb 1 -1 5 0
- COMPONENT=0fe7 -1 -1 5 0
- ON=@Create
- ATTR=ATTR_MOVE_NEVER
- TIMER -1
- ///////////////////////////
- [DIALOG d_CUSTOM_CHAMP]
- 220,150
- PAGE 1
- resizepic 20 20 5054 280 240
- resizepic 30 30 5120 260 220
- checkertrans 30 30 260 220
- dtext 110 30 33 Champion Spawn
- dtext 40 60 88 MonsterGroup:
- dtext 130 60 55 <TAG0.MONSTERGROUP>
- button 260 65 015e1 015e5 0 2 0
- dtext 40 120 88 SpawnRange:
- dtextentry 130 120 100 20 55 1 <dTAG0.RANGE>
- button 260 125 015e1 015e5 1 0 12
- dtext 40 140 88 MaxSpawns:
- dtextentry 130 140 100 20 55 2 <QVAL <TAG0.MAXSPAWNS> ? <dTAG0.MAXSPAWNS>:<dDEF.scp.Champions_TotalMonsters>>
- button 260 145 015e1 015e5 1 0 13
- dtext 40 180 88 Active:
- dtext 130 180 55 <QVAL <TAG0.ACTIVE> ? Yes:No>
- button 260 185 015e1 015e5 1 0 14
- PAGE 2
- resizepic 20 20 5054 280 320
- resizepic 30 30 5120 260 300
- checkertrans 30 30 260 300
- dtext 110 30 33 Champion Spawn
- dtext 60 60 55 Abyss
- dtext 60 80 55 VerminHorde
- dtext 60 100 55 UnholyTerror
- dtext 60 120 55 Arachnid
- dtext 60 140 55 ForestLord
- dtext 60 160 55 ColdBlood
- dtext 60 180 55 SleepingDragon
- dtext 60 200 55 Pestilence
- dtext 60 220 55 Minotaur
- dtext 60 240 55 TwistedGlade
- dtext 60 260 0ad Random
- FOR 0 10
- button 260 <EVAL (<LOCAL._FOR>*20)+65> 015e1 015e5 1 0 <EVAL <LOCAL._FOR>+1>
- ENDFOR
- [DIALOG d_CUSTOM_CHAMP BUTTON]
- ON=1 11
- TAG.RANDOM=
- IF (<ARGN> == 1)
- TAG.MONSTERGROUP=Abyss
- ELIF (<ARGN> == 2)
- TAG.MONSTERGROUP=VerminHord
- ELIF (<ARGN> == 3)
- TAG.MONSTERGROUP=UnholyTerror
- ELIF (<ARGN> == 4)
- TAG.MONSTERGROUP=Arachnid
- ELIF (<ARGN> == 5)
- TAG.MONSTERGROUP=ForestLord
- ELIF (<ARGN> == 6)
- TAG.MONSTERGROUP=ColdBlood
- ELIF (<ARGN> == 7)
- TAG.MONSTERGROUP=SleepingDragon
- ELIF (<ARGN> == 8)
- TAG.MONSTERGROUP=Pestilence
- ELIF (<ARGN> == 9)
- TAG.MONSTERGROUP=Minotaur
- ELIF (<ARGN> == 10)
- TAG.MONSTERGROUP=TwistedGlade
- ELIF (<ARGN> == 11)
- TAG.RANDOM=1
- RANDOMMONSTERGROUP
- ENDIF
- UPDATE
- SDIALOG d_CUSTOM_CHAMP
- ON=12
- TAG.RANGE=<ARGTXT[1]>
- SDIALOG d_CUSTOM_CHAMP
- UPDATE
- ON=13
- TAG.MAXSPAWNS=<ARGTXT[2]>
- SDIALOG d_CUSTOM_CHAMP
- ON=14
- TAG.RANGE=<ARGTXT[1]>
- IF !(<TAG0.ACTIVE>)
- TIMER
- ELSE
- F_CHAMPION_TIMEOUT_RESET
- TIMERF CLEAR
- TIMER=-1
- ENDIF
- [FUNCTION F_CHAMPION_TIMEOUT_RESET]
- MORE1=0
- MOREX=0
- REMOVEWHITECANDLES
- IF (<TAG0.CANDLES>)
- FOR <TAG0.CANDLES>
- TRY UID.<TAG0.CANDLE.<dLOCAL._FOR>>.REMOVE
- TRY TAG.CANDLE.<dLOCAL._FOR>
- TAG0.CANDLES --
- ENDFOR
- ENDIF
- F_REMOVEALLMINIONS
- F_SET_PENTAGRAM_COLOR 03a5
- TAG.ACTIVE=
- TAG.IDLE=
- TAG.VALORTIMES=
- TAG.CHAMPIONUP=
- TAG.CHAMPIONUP=
- TIMER=<EVAL 60*5>
- ///////////////////////
- [FUNCTION SETSPAWNCOLOR]
- FORITEMS 4
- IF (<BASEID> == i_stairs_stone)
- COLOR=1106
- ENDIF
- ENDFOR
- [PLEVEL 4]
- GENERATECHAMPS
- CREATEALTAR
- [FUNCTION GENERATECHAMPS]
- IF !(<VAR0.CHAMPSJAGERADOS>)
- FOR 20
- SERV.NEWITEM i_champion_spawn
- DOSWITCH <EVAL <LOCAL._FOR>-1>
- NEW.P=382,328,-51,2
- NEW.P=446,914,-83,2
- NEW.P=1659,1117,-5,2
- NEW.P=5179,718
- NEW.P=5558,824,45
- NEW.P=5252,819,11
- NEW.P=5814,1351,-21
- NEW.P=5181,1595,-15
- NEW.P=<def.champ_AbyssalInfernal_p>
- NEW.P=5511, 2360,24
- NEW.P=6038, 2400,30
- NEW.P=5549, 2640
- NEW.P=5636, 2916,18
- NEW.P=6035, 2943,32
- NEW.P=5265, 3171,87
- NEW.P=5286,3369,32
- NEW.P=5954, 3475,8
- NEW.P=5207, 3637
- NEW.P=5559, 3757
- NEW.P=5982, 3882
- NEW.P=5724, 3991,19
- ENDDO
- LOCAL.ALTAR=<NEW>
- NEW.MULTICREATE
- NEW.SETSPAWNCOLOR
- SERV.NEWITEM i_champion_idol
- NEW.P=<UID.<LOCAL.ALTAR>.P>
- DOSWITCH <EVAL <LOCAL._FOR>-1>
- BEGIN
- NEW.RANDOMMONSTERGROUP
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.RANDOMMONSTERGROUP
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.TAG.MONSTERGROUP=ForestLord
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.TAG.MONSTERGROUP=UnholyTerror
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.TAG.MONSTERGROUP=VerminHord
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.TAG.MONSTERGROUP=ColdBlood
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.TAG.MONSTERGROUP=Abyss
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.TAG.MONSTERGROUP=Arachnid
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.TAG.MonsterGroup=AbyssalInfernal
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.RANDOMMONSTERGROUP
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.RANDOMMONSTERGROUP
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.RANDOMMONSTERGROUP
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.RANDOMMONSTERGROUP
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.RANDOMMONSTERGROUP
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.RANDOMMONSTERGROUP
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.RANDOMMONSTERGROUP
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.RANDOMMONSTERGROUP
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.RANDOMMONSTERGROUP
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.RANDOMMONSTERGROUP
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.RANDOMMONSTERGROUP
- NEW.TAG.RANGE=60
- END
- BEGIN
- NEW.RANDOMMONSTERGROUP
- NEW.TAG.RANGE=60
- END
- ENDDO
- NEW.ATTR=ATTR_MOVE_NEVER
- NEW.TIMER 1
- NEW.FIX
- new.move 0 0 3
- ENDFOR
- SRC.SYSMESSAGE @55,3,1 Champs: Champions Created!
- SERV.LOG @Champs: Champions Created!
- SERV.NEWITEM i_stairs_marble
- NEW.P=5140,1762
- NEW.COLOR=03df
- NEW.ATTR=ATTR_MOVE_NEVER
- SERV.NEWITEM i_stairs_marble
- NEW.P=5139,1762
- NEW.COLOR=03df
- NEW.ATTR=ATTR_MOVE_NEVER
- SERV.NEWITEM i_stairs_marble
- NEW.P=5139,1761
- NEW.COLOR=03df
- NEW.ATTR=ATTR_MOVE_NEVER
- SERV.NEWITEM i_stairs_marble
- NEW.P=5140,1761
- NEW.COLOR=03df
- NEW.ATTR=ATTR_MOVE_NEVER
- SERV.NEWITEM i_stairs_marble
- NEW.P=5141,1761
- NEW.COLOR=03df
- NEW.ATTR=ATTR_MOVE_NEVER
- SERV.NEWITEM i_stairs_marble
- NEW.P=5140,1760
- NEW.COLOR=03df
- NEW.ATTR=ATTR_MOVE_NEVER
- SERV.NEWITEM i_stairs_marble
- NEW.P=5141,1760
- NEW.COLOR=03df
- NEW.ATTR=ATTR_MOVE_NEVER
- SERV.NEWITEM 077e
- NEW.P=5141,1762
- NEW.COLOR=03df
- NEW.ATTR=ATTR_MOVE_NEVER
- SERV.NEWITEM 077d
- NEW.P=5139,1760
- NEW.COLOR=03df
- NEW.ATTR=ATTR_MOVE_NEVER
- SERV.NEWITEM=0BCF
- NEW.COLOR=0482
- NEW.NAME=Champions must be sacrificed to summon enlightenment...
- NEW.P=5140,1763,-6
- SERV.NEWITEM=0BD0
- NEW.COLOR=0482
- NEW.NAME=The altars must be used to fulfill the prophecy...
- NEW.P=5142,1761,-6
- FOR 0 5
- SERV.NEWITEM=i_floor_tile_green
- DOSWITCH <dLOCAL._FOR>
- NEW.P=5141,1761,5
- NEW.P=5141,1760,5
- NEW.P=5140,1760,5
- NEW.P=5139,1761,5
- NEW.P=5139,1762,5
- NEW.P=5140,1762,5
- ENDDO
- SERV.NEWITEM=i_brazier
- DOSWITCH <dLOCAL._FOR>
- BEGIN
- NEW.P=5141,1761,5
- NEW.TAG.SKULLNAME=Greed
- END
- BEGIN
- NEW.P=5141,1760,5
- NEW.TAG.SKULLNAME=Pain
- END
- BEGIN
- NEW.P=5140,1760,5
- NEW.TAG.SKULLNAME=Venom
- END
- BEGIN
- NEW.P=5139,1761,5
- NEW.TAG.SKULLNAME=Power
- END
- BEGIN
- NEW.P=5139,1762,5
- NEW.TAG.SKULLNAME=Death
- END
- BEGIN
- NEW.P=5140,1762,5
- NEW.TAG.SKULLNAME=Enlightenment
- END
- ENDDO
- NEW.COLOR=0455
- NEW.EVENTS +T_Harrower_Offer
- ENDFOR
- SERV.NEWITEM i_pet_corpser
- NEW.NAME=an evil statue
- NEW.COLOR=color_rock
- NEW.P=5140,1761,5
- NEW.ATTR=ATTR_MOVE_NEVER
- SRC.SYSMESSAGE @55,3,1 Champs: Star Chamber created!
- SERV.LOG @Champs: Star Chamber created!
- SERV.LOG @Champs: All set.
- SRC.SYSMESSAGE @55,3,1 All set.
- VAR.CHAMPSJAGERADOS=1
- ELSE
- SYSMESSAGE @55 Champs have already been created.
- ENDIF
- [FUNCTION DELETECHAMPS]
- forinstances i_champion_idol
- remove
- endfor
- forinstances i_champion_idol
- remove
- endfor
- [FUNCTION CREATEALTAR]
- TARGETFG F_CREATEALTAR
- SYSMESSAGE @88 Where do you want to create the altar?
- [FUNCTION F_CREATEALTAR]
- SERV.NEWITEM i_champion_spawn
- NEW.P=<TARGP>
- NEW.MULTICREATE
- NEW.SETSPAWNCOLOR
- SERV.NEWITEM i_champion_idol
- NEW.P=<TARGP>
- NEW.Z += 5
- NEW.SDIALOG d_CUSTOM_CHAMP
- [FUNCTION HARROWERPOINTS]
- IF !(0<ARGN>)
- RETURN <dTAG0.HARROWERPOINTS>
- ELSE
- TAG.HARROWERPOINTS=<ARGN>
- ENDIF
- [FUNCTION HARROWERKILLERTITLE]
- IF (<HARROWERPOINTS> >= 100)
- RETURN Nightmare of the Harrower (10)
- ELIF (<HARROWERPOINTS> >= 50)
- RETURN Fear of the Harrower (9)
- ELIF (<HARROWERPOINTS> >= 40)
- RETURN Pain of the Harrower (8)
- ELIF (<HARROWERPOINTS> >= 30)
- RETURN Challenger of the Harrower (7)
- ELIF (<HARROWERPOINTS> >= 20)
- RETURN Anihilator of the Harrower (6)
- ELIF (<HARROWERPOINTS> >= 10)
- RETURN Executioner of the Harrower (5)
- ELIF (<HARROWERPOINTS> >= 5)
- RETURN Venom of the Harrower (4)
- ELIF (<HARROWERPOINTS> >= 3)
- RETURN Hunter of the Harrower (3)
- ELIF (<HARROWERPOINTS> >= 2)
- RETURN Opponent of the Harrower (2)
- ELIF (<HARROWERPOINTS> >= 1)
- RETURN Imp in front of the Harrower (1)
- ENDIF
- [FUNCTION SEMIDARSLAYERTITLE]
- IF (<TAG0.CHAMPION.c_semidar> == 1)
- RETURN Foe of the Abyss
- ELIF (<TAG0.CHAMPION.c_semidar> == 2)
- RETURN Assassin of the Abyss
- ELIF (<TAG0.CHAMPION.c_semidar> >= 3)
- RETURN Conqueror of the Abyss
- ENDIF
- [FUNCTION MEPHITISSLAYERTITLE]
- IF (<TAG0.CHAMPION.c_mephitis> == 1)
- RETURN Bane of the Arachnid
- ELIF (<TAG0.CHAMPION.c_mephitis> == 2)
- RETURN Killer of the Arachnid
- ELIF (<TAG0.CHAMPION.c_mephitis> >= 3)
- RETURN Vanquisher of the Arachnid
- ENDIF
- [FUNCTION RIKKTORSLAYERTITLE]
- IF (<TAG0.CHAMPION.c_Rikktor> == 1)
- RETURN Blight of the Cold Blood
- ELIF (<TAG0.CHAMPION.c_Rikktor> == 2)
- RETURN Slayer of the Cold Blood
- ELIF (<TAG0.CHAMPION.c_Rikktor> >= 3)
- RETURN Destroyer of the Cold Blood
- ENDIF
- [FUNCTION LORDOAKSSLAYERTITLE]
- IF (<TAG0.CHAMPION.c_Lord_Oaks> == 1)
- RETURN Enemy of the Forest Lord
- ELIF (<TAG0.CHAMPION.c_Lord_Oaks> == 2)
- RETURN Curse of the Forest Lord
- ELIF (<TAG0.CHAMPION.c_Lord_Oaks> >= 3)
- RETURN Slaughterer of the Forest Lord
- ENDIF
- [FUNCTION BARRACOONSLAYERTITLE]
- IF (<TAG0.CHAMPION.c_Barracoon> == 1)
- RETURN Adversary of the Vermin Horde
- ELIF (<TAG0.CHAMPION.c_Barracoon> == 2)
- RETURN Subjugator of the Vermin Horde
- ELIF (<TAG0.CHAMPION.c_Barracoon> >= 3)
- RETURN Eradicator of the Vermin Horde
- ENDIF
- [FUNCTION NEIRASLAYERTITLE]
- IF (<TAG0.CHAMPION.c_Neira> == 1)
- RETURN Scourge of the Unholy Terror
- ELIF (<TAG0.CHAMPION.c_Neira> == 2)
- RETURN Punisher of the Unholy Terror
- ELIF (<TAG0.CHAMPION.c_Neira> >= 3)
- RETURN Nemesis of the Unholy Terror
- ENDIF
- [FUNCTION SERADOSLAYERTITLE]
- IF (<TAG0.CHAMPION.c_Serado> == 1)
- RETURN Rival of the Sleeping Dragon
- ELIF (<TAG0.CHAMPION.c_Serado> == 2)
- RETURN Challenger of the Sleeping Dragon
- ELIF (<TAG0.CHAMPION.c_Serado> >= 3)
- RETURN Antagonist of the Sleeping Dragon
- ENDIF
- [FUNCTION ILHENIRSLAYERTITLE]
- IF (<TAG0.CHAMPION.c_Ilhenir> == 1)
- RETURN Cleanser of the Corrupt
- ELIF (<TAG0.CHAMPION.c_Ilhenir> == 2)
- RETURN Expunger of the Corrupt
- ELIF (<TAG0.CHAMPION.c_Ilhenir> >= 3)
- RETURN Slayer of the Corrupt
- ENDIF
- [FUNCTION closealldialogs]
- IF (<DIALOGLIST.COUNT>)
- FOR 0 <EVAL <DIALOGLIST.COUNT>-1>
- LOCAL.DIALOGNAME=<DIALOGLIST.<dLOCAL._FOR>.ID>
- IF (STRCMPI(d_pages_resp_alerta,<LOCAL.DIALOGNAME>))
- DIALOGCLOSE <LOCAL.DIALOGNAME> <ARGN2>
- ENDIF
- ENDFOR
- ENDIF
- [EOF]
Advertisement
Add Comment
Please, Sign In to add comment