Episode 17.1 - Illusion (#6643)
Fixes https://github.com/rathena/rathena/issues/6463 Implements Episode 17.1 - Illusion Adds viewpointmap script command Adds getbaseexp_ratio and getjobexp_ratio script command Comments quest log support for the Nameless Island Quest, Nameless Island Access Quest and Geoborg Family Curse Quest due to utilizing quest IDs that are used elsewhere. Credits to @crazy-arashi for the initial content release Co-authored-by: crazy-arashi <meganekiho@gmail.com> Co-authored-by: aleos <aleos89@users.noreply.github.com> Co-authored-by: Atemo <capucrath@gmail.com> Co-authored-by: Lemongrass3110 <lemongrass@kstp.at> Thanks to @crazy-arashi @Atemo @aleos89 @Lemongrass3110 @secretdataz @Dia @humanwizzard @idk-whoami @Megelith @Daegaladh
This commit is contained in:
parent
8bc43091c9
commit
ff7bbb9d0c
@ -310,3 +310,38 @@ Body:
|
||||
Map: 1@infi
|
||||
X: 30
|
||||
Y: 10
|
||||
- Id: 39
|
||||
Name: Regenschirm
|
||||
TimeLimit: 7200
|
||||
Enter:
|
||||
Map: 1@rgsr
|
||||
X: 127
|
||||
Y: 38
|
||||
- Id: 40
|
||||
Name: Sealed OS
|
||||
TimeLimit: 7200
|
||||
Enter:
|
||||
Map: 1@os_b
|
||||
X: 188
|
||||
Y: 41
|
||||
- Id: 41
|
||||
Name: OS Occupation
|
||||
TimeLimit: 7200
|
||||
Enter:
|
||||
Map: 1@os_a
|
||||
X: 30
|
||||
Y: 352
|
||||
- Id: 42
|
||||
Name: 2nd OS Search
|
||||
TimeLimit: 7200
|
||||
Enter:
|
||||
Map: 1@os_a
|
||||
X: 335
|
||||
Y: 34
|
||||
- Id: 43
|
||||
Name: Cor Memorial
|
||||
TimeLimit: 7200
|
||||
Enter:
|
||||
Map: 1@cor
|
||||
X: 176
|
||||
Y: 169
|
||||
|
@ -5305,7 +5305,7 @@ Body:
|
||||
- Grace_Attack_Boots
|
||||
- Grace_Attack_Manteau
|
||||
- Grace_Attack_Ring
|
||||
- Grace_Assassin_Suit
|
||||
- Grace_Assasin_Suit
|
||||
Script: |
|
||||
.@r = getequiprefinerycnt(EQI_SHOES)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_ARMOR);
|
||||
bonus bAspd,1;
|
||||
@ -5475,7 +5475,7 @@ Body:
|
||||
- Grace_Attack_Boots
|
||||
- Grace_Attack_Manteau
|
||||
- Grace_Attack_Ring
|
||||
- Grace_Super_Novice_Suit
|
||||
- Grace_Snovice_Suit
|
||||
Script: |
|
||||
.@r = getequiprefinerycnt(EQI_SHOES)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_ARMOR);
|
||||
bonus bMaxHPrate,5;
|
||||
@ -6319,7 +6319,7 @@ Body:
|
||||
- Grace_Attack_Boots
|
||||
- Grace_Attack_Manteau
|
||||
- Grace_Attack_Ring
|
||||
- Grace_Aimed_Suit
|
||||
- Grace_Aim_Suit
|
||||
Script: |
|
||||
.@r = getequiprefinerycnt(EQI_SHOES)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_ARMOR);
|
||||
bonus bDelayrate,-10;
|
||||
@ -6399,7 +6399,7 @@ Body:
|
||||
- Grace_Attack_Boots
|
||||
- Grace_Attack_Manteau
|
||||
- Grace_Attack_Ring
|
||||
- Grace_Tornado_Armor
|
||||
- Grace_Tonado_Armor
|
||||
Script: |
|
||||
.@r = getequiprefinerycnt(EQI_SHOES)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_ARMOR);
|
||||
bonus bAspd,1;
|
||||
@ -6431,7 +6431,7 @@ Body:
|
||||
- Grace_Attack_Boots
|
||||
- Grace_Attack_Manteau
|
||||
- Grace_Attack_Ring
|
||||
- Grace_Cart_Cannon_Suit
|
||||
- Grace_Kart_Suit
|
||||
Script: |
|
||||
.@r = getequiprefinerycnt(EQI_SHOES)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_ARMOR);
|
||||
bonus bVariableCastRate,-5;
|
||||
@ -6447,7 +6447,7 @@ Body:
|
||||
- Grace_Attack_Boots
|
||||
- Grace_Attack_Manteau
|
||||
- Grace_Attack_Ring
|
||||
- Grace_Cart_Tornado_Suit
|
||||
- Grace_Kart_Suit2
|
||||
Script: |
|
||||
.@r = getequiprefinerycnt(EQI_SHOES)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_ARMOR);
|
||||
bonus bAspd,1;
|
||||
@ -6527,7 +6527,7 @@ Body:
|
||||
- Grace_Attack_Boots
|
||||
- Grace_Attack_Manteau
|
||||
- Grace_Attack_Ring
|
||||
- Grace_Fire_Rain_Suit
|
||||
- Grace_Firerain_Suit
|
||||
Script: |
|
||||
.@r = getequiprefinerycnt(EQI_SHOES)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_ARMOR);
|
||||
bonus bAspd,1;
|
||||
@ -6655,7 +6655,7 @@ Body:
|
||||
- Grace_Magic_Boots
|
||||
- Grace_Magic_Manteau
|
||||
- Grace_Magic_Ring
|
||||
- Grace_Catnip_Robe
|
||||
- Grace_Carrot_Robe
|
||||
Script: |
|
||||
.@r = getequiprefinerycnt(EQI_SHOES)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_ARMOR);
|
||||
bonus bVariableCastrate,-5;
|
||||
@ -6755,7 +6755,7 @@ Body:
|
||||
- Grace_Magic_Boots
|
||||
- Grace_Magic_Manteau
|
||||
- Grace_Magic_Ring
|
||||
- Grace_Eswhoo_Robe
|
||||
- Grace_Swhoo_Robe
|
||||
Script: |
|
||||
.@r = getequiprefinerycnt(EQI_SHOES)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_ARMOR);
|
||||
bonus bVariableCastrate,-5;
|
||||
@ -6787,7 +6787,7 @@ Body:
|
||||
- Grace_Magic_Boots
|
||||
- Grace_Magic_Manteau
|
||||
- Grace_Magic_Ring
|
||||
- Grace_Super_Novice_Robe
|
||||
- Grace_Snovice_Robe
|
||||
Script: |
|
||||
.@r = getequiprefinerycnt(EQI_SHOES)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_ARMOR);
|
||||
bonus bMaxHPrate,5;
|
||||
|
@ -144200,7 +144200,7 @@ Body:
|
||||
if (.@r>=9)
|
||||
bonus bLongAtkRate,10;
|
||||
- Id: 450091
|
||||
AegisName: Grace_Aimed_Suit
|
||||
AegisName: Grace_Aim_Suit
|
||||
Name: Grace Aimed Suit
|
||||
Type: Armor
|
||||
Buy: 20
|
||||
@ -144424,7 +144424,7 @@ Body:
|
||||
if (.@r>=9)
|
||||
bonus bMaxHPrate,5;
|
||||
- Id: 450098
|
||||
AegisName: Grace_Tornado_Armor
|
||||
AegisName: Grace_Tonado_Armor
|
||||
Name: Grace Tornado Armor
|
||||
Type: Armor
|
||||
Buy: 20
|
||||
@ -144488,7 +144488,7 @@ Body:
|
||||
if (.@r>=9)
|
||||
bonus bLongAtkRate,10;
|
||||
- Id: 450100
|
||||
AegisName: Grace_Cart_Cannon_Suit
|
||||
AegisName: Grace_Kart_Suit
|
||||
Name: Grace Cart Cannon Suit
|
||||
Type: Armor
|
||||
Buy: 20
|
||||
@ -144520,7 +144520,7 @@ Body:
|
||||
if (.@r>=9)
|
||||
bonus bLongAtkRate,10;
|
||||
- Id: 450101
|
||||
AegisName: Grace_Cart_Tornado_Suit
|
||||
AegisName: Grace_Kart_Suit2
|
||||
Name: Grace Cart Tornado Suit
|
||||
Type: Armor
|
||||
Buy: 20
|
||||
@ -144584,7 +144584,7 @@ Body:
|
||||
if (.@r>=9)
|
||||
bonus bLongAtkRate,10;
|
||||
- Id: 450103
|
||||
AegisName: Grace_Assassin_Suit
|
||||
AegisName: Grace_Assasin_Suit
|
||||
Name: Grace Assassin Suit
|
||||
Type: Armor
|
||||
Buy: 20
|
||||
@ -144709,7 +144709,7 @@ Body:
|
||||
if (.@r>=9)
|
||||
bonus bLongAtkRate,10;
|
||||
- Id: 450107
|
||||
AegisName: Grace_Catnip_Robe
|
||||
AegisName: Grace_Carrot_Robe
|
||||
Name: Grace Catnip Robe
|
||||
Type: Armor
|
||||
Buy: 20
|
||||
@ -144767,7 +144767,7 @@ Body:
|
||||
if (.@r>=9)
|
||||
bonus bLongAtkRate,10;
|
||||
- Id: 450109
|
||||
AegisName: Grace_Fire_Rain_Suit
|
||||
AegisName: Grace_Firerain_Suit
|
||||
Name: Grace Fire Rain Suit
|
||||
Type: Armor
|
||||
Buy: 20
|
||||
@ -145046,7 +145046,7 @@ Body:
|
||||
if (.@r>=9)
|
||||
bonus bLongAtkRate,10;
|
||||
- Id: 450118
|
||||
AegisName: Grace_Eswhoo_Robe
|
||||
AegisName: Grace_Swhoo_Robe
|
||||
Name: Grace Eswhoo Robe
|
||||
Type: Armor
|
||||
Buy: 20
|
||||
@ -145226,7 +145226,7 @@ Body:
|
||||
if (.@r>=9)
|
||||
bonus bMaxHPrate,7;
|
||||
- Id: 450125
|
||||
AegisName: Grace_Super_Novice_Suit
|
||||
AegisName: Grace_Snovice_Suit
|
||||
Name: Grace Super Novice Suit
|
||||
Type: Armor
|
||||
Buy: 20
|
||||
@ -145255,7 +145255,7 @@ Body:
|
||||
if (.@r>=9)
|
||||
bonus bMaxHPrate,10;
|
||||
- Id: 450126
|
||||
AegisName: Grace_Super_Novice_Robe
|
||||
AegisName: Grace_Snovice_Robe
|
||||
Name: Grace Super Novice Robe
|
||||
Type: Armor
|
||||
Buy: 20
|
||||
|
@ -36749,11 +36749,10 @@ Body:
|
||||
Type: Etc
|
||||
Weight: 10
|
||||
- Id: 25670
|
||||
AegisName: M_M_Defense
|
||||
AegisName: EP17_1_EVT03
|
||||
Name: Modification Module (Defense)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
.@r = getrefine();
|
||||
@ -36765,11 +36764,10 @@ Body:
|
||||
}
|
||||
bonus bDef,.@def;
|
||||
- Id: 25671
|
||||
AegisName: M_M_Magic_Defense
|
||||
AegisName: EP17_1_EVT04
|
||||
Name: Modification Module (Magic Defense)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
.@r = getrefine();
|
||||
@ -36781,121 +36779,108 @@ Body:
|
||||
}
|
||||
bonus bMDef,.@mdef;
|
||||
- Id: 25672
|
||||
AegisName: M_M_Vit
|
||||
AegisName: EP17_1_EVT05
|
||||
Name: Modification Module (Vit)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
bonus bVit,3;
|
||||
- Id: 25673
|
||||
AegisName: M_M_Luk
|
||||
AegisName: EP17_1_EVT06
|
||||
Name: Modification Module (Luk)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
bonus bLuk,3;
|
||||
- Id: 25674
|
||||
AegisName: M_M_Str
|
||||
AegisName: EP17_1_EVT07
|
||||
Name: Modification Module (Str)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
bonus bStr,3;
|
||||
- Id: 25675
|
||||
AegisName: M_M_Agi
|
||||
AegisName: EP17_1_EVT08
|
||||
Name: Modification Module (Agi)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
bonus bAgi,3;
|
||||
- Id: 25676
|
||||
AegisName: M_M_Int
|
||||
AegisName: EP17_1_EVT09
|
||||
Name: Modification Module (Int)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
bonus bInt,3;
|
||||
- Id: 25677
|
||||
AegisName: M_M_Dex
|
||||
AegisName: EP17_1_EVT10
|
||||
Name: Modification Module (Dex)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
bonus bDex,3;
|
||||
- Id: 25678
|
||||
AegisName: M_M_HP_recovery
|
||||
AegisName: EP17_1_EVT11
|
||||
Name: Modification Module (HP recovery)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
bonus bHPrecovRate,20;
|
||||
- Id: 25679
|
||||
AegisName: M_M_SP_recovery
|
||||
AegisName: EP17_1_EVT12
|
||||
Name: Modification Module (SP recovery)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
bonus bSPrecovRate,20;
|
||||
- Id: 25680
|
||||
AegisName: M_M_Spell5
|
||||
AegisName: EP17_1_EVT13
|
||||
Name: Modification Module (Spell)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
bonus bMatk,18;
|
||||
bonus bVariableCastrate,-10;
|
||||
- Id: 25681
|
||||
AegisName: M_M_Attack_Delay_4
|
||||
AegisName: EP17_1_EVT14
|
||||
Name: Modification Module (Attack Speed)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
bonus bAspdRate,10;
|
||||
- Id: 25682
|
||||
AegisName: M_M_Fatal4
|
||||
AegisName: EP17_1_EVT15
|
||||
Name: Modification Module (Fatal)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
bonus bCritAtkRate,10;
|
||||
bonus bCritical,4;
|
||||
- Id: 25683
|
||||
AegisName: M_M_Expert_Archer5
|
||||
AegisName: EP17_1_EVT16
|
||||
Name: Modification Module (Expert Archer)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
bonus bLongAtkRate,10;
|
||||
- Id: 25684
|
||||
AegisName: M_M_Vital
|
||||
AegisName: EP17_1_EVT17
|
||||
Name: Modification Module (Vital)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
.@r = getrefine();
|
||||
@ -36906,11 +36891,10 @@ Body:
|
||||
bonus bMaxHP,500;
|
||||
}
|
||||
- Id: 25685
|
||||
AegisName: M_M_Mental
|
||||
AegisName: EP17_1_EVT18
|
||||
Name: Modification Module (Mental)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
.@r = getrefine();
|
||||
@ -36921,11 +36905,10 @@ Body:
|
||||
bonus bMaxSP,100;
|
||||
}
|
||||
- Id: 25686
|
||||
AegisName: M_M_Heal
|
||||
AegisName: EP17_1_EVT19
|
||||
Name: Modification Module (Heal)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
.@r = getrefine();
|
||||
@ -36937,11 +36920,10 @@ Body:
|
||||
}
|
||||
bonus bHealPower,.@val;
|
||||
- Id: 25687
|
||||
AegisName: M_M_Power
|
||||
AegisName: EP17_1_EVT20
|
||||
Name: Modification Module (Power)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
.@r = getrefine();
|
||||
@ -36952,11 +36934,10 @@ Body:
|
||||
bonus bBaseAtk,25;
|
||||
}
|
||||
- Id: 25688
|
||||
AegisName: M_M_Magic
|
||||
AegisName: EP17_1_EVT21
|
||||
Name: Modification Module (Magic)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
.@r = getrefine();
|
||||
@ -36967,11 +36948,10 @@ Body:
|
||||
bonus bMatk,25;
|
||||
}
|
||||
- Id: 25689
|
||||
AegisName: M_M_Shooter
|
||||
AegisName: EP17_1_EVT22
|
||||
Name: Modification Module (Shooter)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
.@r = getrefine();
|
||||
@ -36983,11 +36963,10 @@ Body:
|
||||
}
|
||||
bonus bLongAtkRate,.@val;
|
||||
- Id: 25690
|
||||
AegisName: M_M_Fast
|
||||
AegisName: EP17_1_EVT23
|
||||
Name: Modification Module (Fast)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
.@r = getrefine();
|
||||
@ -36998,11 +36977,10 @@ Body:
|
||||
bonus bAspdRate,3;
|
||||
}
|
||||
- Id: 25691
|
||||
AegisName: M_M_Caster
|
||||
AegisName: EP17_1_EVT24
|
||||
Name: Modification Module (Caster)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
.@r = getrefine();
|
||||
@ -37014,11 +36992,10 @@ Body:
|
||||
}
|
||||
bonus bVariableCastrate,.@val;
|
||||
- Id: 25692
|
||||
AegisName: M_M_Critical
|
||||
AegisName: EP17_1_EVT25
|
||||
Name: Modification Module (Critical)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
.@r = getrefine();
|
||||
@ -37029,11 +37006,10 @@ Body:
|
||||
bonus bCritAtkRate,5;
|
||||
}
|
||||
- Id: 25693
|
||||
AegisName: M_M_Delay_After_skill
|
||||
AegisName: EP17_1_EVT26
|
||||
Name: Modification Module (Delay after skill)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
.@r = getrefine();
|
||||
@ -37045,11 +37021,10 @@ Body:
|
||||
}
|
||||
bonus bDelayrate,.@val;
|
||||
- Id: 25694
|
||||
AegisName: M_M_Fixed_Casting
|
||||
AegisName: EP17_1_EVT27
|
||||
Name: Modification Module (Fixed Casting)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
.@r = getrefine();
|
||||
@ -37061,11 +37036,10 @@ Body:
|
||||
}
|
||||
bonus bFixedCast,.@val;
|
||||
- Id: 25695
|
||||
AegisName: M_M_Above_All
|
||||
AegisName: EP17_1_EVT28
|
||||
Name: Modification Module (Above All)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
.@r = getrefine();
|
||||
@ -37077,97 +37051,87 @@ Body:
|
||||
bonus2 bSubRace,RC_Player_Human,-5;
|
||||
} }
|
||||
- Id: 25696
|
||||
AegisName: M_M_Drain_Life
|
||||
AegisName: EP17_1_EVT29
|
||||
Name: Modification Module (Drain Life)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
bonus2 bHPDrainRate,20,2;
|
||||
- Id: 25697
|
||||
AegisName: M_M_Drain_Soul
|
||||
AegisName: EP17_1_EVT30
|
||||
Name: Modification Module (Drain Soul)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
bonus2 bSPDrainRate,10,1;
|
||||
- Id: 25698
|
||||
AegisName: M_M_Magic_Healing
|
||||
AegisName: EP17_1_EVT31
|
||||
Name: Modification Module (Magic Healing)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
autobonus "{ bonus2 bHPRegenRate,400,500; }",20,10000,BF_MAGIC;
|
||||
- Id: 25699
|
||||
AegisName: M_M_Magic_Soul
|
||||
AegisName: EP17_1_EVT32
|
||||
Name: Modification Module (Magic Soul)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
autobonus "{ bonus2 bSPRegenRate,80,500; }",10,10000,BF_MAGIC;
|
||||
- Id: 25700
|
||||
AegisName: M_M_Unlimited_Vital
|
||||
AegisName: EP17_1_EVT33
|
||||
Name: Modification Module (Unlimited Vital)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
autobonus2 "{ bonus bVit,50; bonus2 bHPRegenRate,400,500; bonus2 bSPLossRate,20,1000; }",10,10000,BF_WEAPON|BF_MAGIC;
|
||||
/* unknown rate */
|
||||
- Id: 25701
|
||||
AegisName: M_M_Spell_Buster
|
||||
AegisName: EP17_1_EVT34
|
||||
Name: Modification Module (Spell Buster)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
autobonus "{ bonus bInt,50; bonus bMatkRate,15; bonus2 bAddClass,Class_All,-15; }",20,10000,BF_MAGIC;
|
||||
/* unknown rate */
|
||||
- Id: 25702
|
||||
AegisName: M_M_Firing_Shot
|
||||
AegisName: EP17_1_EVT35
|
||||
Name: Modification Module (Firing Shot)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
autobonus "{ bonus bDex,50; bonus bLongAtkRate,10; bonus2 bSPLossRate,20,1000; }",20,10000,BF_WEAPON;
|
||||
/* unknown rate */
|
||||
- Id: 25703
|
||||
AegisName: M_M_Overpower
|
||||
AegisName: EP17_1_EVT36
|
||||
Name: Modification Module (Overpower)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
autobonus "{ bonus bStr,50; bonus2 bAddClass,Class_All,15; bonus bMatkRate,-15; }",20,10000,BF_WEAPON;
|
||||
/* unknown rate */
|
||||
- Id: 25704
|
||||
AegisName: M_M_Fatal_Flash
|
||||
AegisName: EP17_1_EVT37
|
||||
Name: Modification Module (Fatal Flash)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
autobonus "{ bonus bStr,50; bonus bCritAtkRate,10; bonus2 bHPLossRate,300,1000; }",20,10000,BF_WEAPON;
|
||||
/* unknown rate */
|
||||
- Id: 25705
|
||||
AegisName: M_M_Lucky_Strike
|
||||
AegisName: EP17_1_EVT38
|
||||
Name: Modification Module (Lucky Strike)
|
||||
Type: Card
|
||||
SubType: Enchant
|
||||
Buy: 20
|
||||
Weight: 10
|
||||
Script: |
|
||||
autobonus "{ bonus bLuk,50; bonus2 bMagicAtkEle,Ele_All,10; bonus2 bHPLossRate,300,1000; }",20,10000,BF_MAGIC;
|
||||
|
@ -47242,6 +47242,94 @@ Body:
|
||||
Container: true
|
||||
Script: |
|
||||
getgroupitem(IG_Enchant_Stone_Box16);
|
||||
- Id: 23771
|
||||
AegisName: Mysterious_Plastic
|
||||
Name: Mysterious Plastic Bag
|
||||
Type: Usable
|
||||
Trade:
|
||||
NoDrop: true
|
||||
NoTrade: true
|
||||
NoCart: true
|
||||
NoStorage: true
|
||||
NoGuildStorage: true
|
||||
NoMail: true
|
||||
NoAuction: true
|
||||
Flags:
|
||||
Container: true
|
||||
Script: |
|
||||
/* unknown */
|
||||
- Id: 23772
|
||||
AegisName: EP17_1_SPC01
|
||||
Name: OS Weapon Chest
|
||||
Type: Usable
|
||||
Weight: 100
|
||||
Trade:
|
||||
NoDrop: true
|
||||
NoTrade: true
|
||||
NoSell: true
|
||||
NoCart: true
|
||||
NoStorage: true
|
||||
NoGuildStorage: true
|
||||
NoMail: true
|
||||
NoAuction: true
|
||||
Flags:
|
||||
Container: true
|
||||
Script: |
|
||||
getgroupitem(IG_EP17_1_SPC01);
|
||||
- Id: 23773
|
||||
AegisName: EP17_1_SPC02
|
||||
Name: Weapon Modification Device Chest (Physical)
|
||||
Type: Usable
|
||||
Weight: 750
|
||||
Trade:
|
||||
NoDrop: true
|
||||
NoTrade: true
|
||||
NoSell: true
|
||||
NoCart: true
|
||||
NoStorage: true
|
||||
NoGuildStorage: true
|
||||
NoMail: true
|
||||
NoAuction: true
|
||||
Flags:
|
||||
Container: true
|
||||
Script: |
|
||||
getgroupitem(IG_EP17_1_SPC02);
|
||||
- Id: 23774
|
||||
AegisName: EP17_1_SPC03
|
||||
Name: Weapon Modification Device Chest (Magic)
|
||||
Type: Usable
|
||||
Weight: 750
|
||||
Trade:
|
||||
NoDrop: true
|
||||
NoTrade: true
|
||||
NoSell: true
|
||||
NoCart: true
|
||||
NoStorage: true
|
||||
NoGuildStorage: true
|
||||
NoMail: true
|
||||
NoAuction: true
|
||||
Flags:
|
||||
Container: true
|
||||
Script: |
|
||||
getgroupitem(IG_EP17_1_SPC03);
|
||||
- Id: 23775
|
||||
AegisName: EP17_1_SPC04
|
||||
Name: Modification Module Chest
|
||||
Type: Usable
|
||||
Weight: 100
|
||||
Trade:
|
||||
NoDrop: true
|
||||
NoTrade: true
|
||||
NoSell: true
|
||||
NoCart: true
|
||||
NoStorage: true
|
||||
NoGuildStorage: true
|
||||
NoMail: true
|
||||
NoAuction: true
|
||||
Flags:
|
||||
Container: true
|
||||
Script: |
|
||||
getgroupitem(IG_EP17_1_SPC04);
|
||||
- Id: 23776
|
||||
AegisName: EP17_1_SPC05
|
||||
Name: Weapon Modifier (Physical)
|
||||
@ -48275,7 +48363,7 @@ Body:
|
||||
Script: |
|
||||
laphine_upgrade();
|
||||
- Id: 100130
|
||||
AegisName: Grace_Refine_Ticket
|
||||
AegisName: Grace_Rifine_Ticket
|
||||
Name: Grace Refine Ticket
|
||||
Type: Delayconsume
|
||||
Buy: 20
|
||||
@ -48323,7 +48411,7 @@ Body:
|
||||
Script: |
|
||||
laphine_upgrade();
|
||||
- Id: 100133
|
||||
AegisName: Grace_P_Mo_Garment
|
||||
AegisName: Grace_Convert1
|
||||
Name: Grace Physical Modification Permit (Garment)
|
||||
Type: Delayconsume
|
||||
Buy: 20
|
||||
@ -48339,7 +48427,7 @@ Body:
|
||||
Script: |
|
||||
laphine_upgrade();
|
||||
- Id: 100134
|
||||
AegisName: Grace_M_Mo_Garment
|
||||
AegisName: Grace_Convert2
|
||||
Name: Grace Magical Modification Permit (Garment)
|
||||
Type: Delayconsume
|
||||
Buy: 20
|
||||
@ -48387,7 +48475,7 @@ Body:
|
||||
Script: |
|
||||
laphine_upgrade();
|
||||
- Id: 100137
|
||||
AegisName: Grace_P_Mo_Armor
|
||||
AegisName: Grace_Convert3
|
||||
Name: Grace Physical Modification Permit (Armor)
|
||||
Type: Delayconsume
|
||||
Buy: 20
|
||||
@ -48403,7 +48491,7 @@ Body:
|
||||
Script: |
|
||||
laphine_upgrade();
|
||||
- Id: 100138
|
||||
AegisName: Grace_M_Mo_Armor
|
||||
AegisName: Grace_Convert4
|
||||
Name: Grace Magical Modification Permit (Armor)
|
||||
Type: Delayconsume
|
||||
Buy: 20
|
||||
|
@ -28597,4 +28597,135 @@ Body:
|
||||
Amount: 50
|
||||
- Item: aegis_101271
|
||||
Amount: 10
|
||||
|
||||
- Group: EP17_1_SPC01
|
||||
SubGroups:
|
||||
- SubGroup: 1
|
||||
List:
|
||||
- Item: Burning_Knuckle_OS
|
||||
Rate: 625
|
||||
- Item: Cannon_Rapier_OS
|
||||
Rate: 625
|
||||
- Item: Saphir_Hall_OS
|
||||
Rate: 625
|
||||
- Item: Ultio_Spes_OS
|
||||
Rate: 625
|
||||
- Item: Virtual_Bow_OS
|
||||
Rate: 625
|
||||
- Item: MH_P89_OS
|
||||
Rate: 625
|
||||
- Item: AC_B44_OS
|
||||
Rate: 625
|
||||
- Item: Beam_Claymore_OS
|
||||
Rate: 625
|
||||
- Item: Rutilus_Stick_OS
|
||||
Rate: 625
|
||||
- Item: ElectricFox_OS
|
||||
Rate: 625
|
||||
- Item: Meuchler_OS
|
||||
Rate: 625
|
||||
- Item: Blasti_OS
|
||||
Rate: 625
|
||||
- Item: HR_S55_OS
|
||||
Rate: 625
|
||||
- Item: Circuit_Board_OS
|
||||
Rate: 625
|
||||
- Item: Kuroiro_OS
|
||||
Rate: 625
|
||||
- Item: Boost_Lance_OS
|
||||
Rate: 625
|
||||
- Group: EP17_1_SPC02
|
||||
SubGroups:
|
||||
- SubGroup: 1
|
||||
List:
|
||||
- Item: EP17_1_SPC05
|
||||
Rate: 7500
|
||||
- Item: EP17_1_SPC06
|
||||
Rate: 2000
|
||||
- Item: EP17_1_SPC07
|
||||
Rate: 500
|
||||
- Group: EP17_1_SPC03
|
||||
SubGroups:
|
||||
- SubGroup: 1
|
||||
List:
|
||||
- Item: EP17_1_SPC08
|
||||
Rate: 7500
|
||||
- Item: EP17_1_SPC09
|
||||
Rate: 2000
|
||||
- Item: EP17_1_SPC10
|
||||
Rate: 500
|
||||
- Group: EP17_1_SPC04
|
||||
SubGroups:
|
||||
- SubGroup: 1
|
||||
List:
|
||||
- Item: EP17_1_EVT03
|
||||
Rate: 900
|
||||
- Item: EP17_1_EVT04
|
||||
Rate: 900
|
||||
- Item: EP17_1_EVT05
|
||||
Rate: 904
|
||||
- Item: EP17_1_EVT06
|
||||
Rate: 904
|
||||
- Item: EP17_1_EVT07
|
||||
Rate: 904
|
||||
- Item: EP17_1_EVT08
|
||||
Rate: 904
|
||||
- Item: EP17_1_EVT09
|
||||
Rate: 904
|
||||
- Item: EP17_1_EVT10
|
||||
Rate: 904
|
||||
- Item: EP17_1_EVT11
|
||||
Rate: 300
|
||||
- Item: EP17_1_EVT12
|
||||
Rate: 300
|
||||
- Item: EP17_1_EVT13
|
||||
Rate: 300
|
||||
- Item: EP17_1_EVT14
|
||||
Rate: 300
|
||||
- Item: EP17_1_EVT15
|
||||
Rate: 300
|
||||
- Item: EP17_1_EVT16
|
||||
Rate: 300
|
||||
- Item: EP17_1_EVT17
|
||||
Rate: 100
|
||||
- Item: EP17_1_EVT18
|
||||
Rate: 100
|
||||
- Item: EP17_1_EVT19
|
||||
Rate: 100
|
||||
- Item: EP17_1_EVT20
|
||||
Rate: 100
|
||||
- Item: EP17_1_EVT21
|
||||
Rate: 100
|
||||
- Item: EP17_1_EVT22
|
||||
Rate: 100
|
||||
- Item: EP17_1_EVT23
|
||||
Rate: 100
|
||||
- Item: EP17_1_EVT24
|
||||
Rate: 100
|
||||
- Item: EP17_1_EVT25
|
||||
Rate: 100
|
||||
- Item: EP17_1_EVT26
|
||||
Rate: 10
|
||||
- Item: EP17_1_EVT27
|
||||
Rate: 10
|
||||
- Item: EP17_1_EVT28
|
||||
Rate: 10
|
||||
- Item: EP17_1_EVT29
|
||||
Rate: 10
|
||||
- Item: EP17_1_EVT30
|
||||
Rate: 10
|
||||
- Item: EP17_1_EVT31
|
||||
Rate: 10
|
||||
- Item: EP17_1_EVT32
|
||||
Rate: 10
|
||||
- Item: EP17_1_EVT33
|
||||
Rate: 1
|
||||
- Item: EP17_1_EVT34
|
||||
Rate: 1
|
||||
- Item: EP17_1_EVT35
|
||||
Rate: 1
|
||||
- Item: EP17_1_EVT36
|
||||
Rate: 1
|
||||
- Item: EP17_1_EVT37
|
||||
Rate: 1
|
||||
- Item: EP17_1_EVT38
|
||||
Rate: 1
|
||||
|
@ -12004,7 +12004,7 @@ Body:
|
||||
MaxValue: 5
|
||||
Chance: 1000
|
||||
- Id: 141
|
||||
Group: GRACE_P_MO_GARMENT
|
||||
Group: GRACE_CONVERT1
|
||||
Slots:
|
||||
- Slot: 1
|
||||
Options:
|
||||
@ -12103,7 +12103,7 @@ Body:
|
||||
MaxValue: 5
|
||||
Chance: 769
|
||||
- Id: 142
|
||||
Group: GRACE_M_MO_GARMENT
|
||||
Group: GRACE_CONVERT2
|
||||
Slots:
|
||||
- Slot: 1
|
||||
Options:
|
||||
@ -12202,7 +12202,7 @@ Body:
|
||||
MaxValue: 5
|
||||
Chance: 769
|
||||
- Id: 143
|
||||
Group: GRACE_P_MO_ARMOR
|
||||
Group: GRACE_CONVERT3
|
||||
Slots:
|
||||
- Slot: 1
|
||||
Options:
|
||||
@ -12293,7 +12293,7 @@ Body:
|
||||
MaxValue: 5
|
||||
Chance: 769
|
||||
- Id: 144
|
||||
Group: GRACE_M_MO_ARMOR
|
||||
Group: GRACE_CONVERT4
|
||||
Slots:
|
||||
- Slot: 1
|
||||
Options:
|
||||
|
@ -4059,42 +4059,42 @@ Body:
|
||||
# RewardGroup: ILLUSION_MODULE_MIX
|
||||
# RequiredRequirementsCount: 5
|
||||
# Requirements:
|
||||
# - Item: M_M_Defense
|
||||
# - Item: M_M_Magic_Defense
|
||||
# - Item: M_M_Vit
|
||||
# - Item: M_M_Luk
|
||||
# - Item: M_M_Str
|
||||
# - Item: M_M_Agi
|
||||
# - Item: M_M_Int
|
||||
# - Item: M_M_Dex
|
||||
# - Item: M_M_HP_recovery
|
||||
# - Item: M_M_SP_recovery
|
||||
# - Item: M_M_Spell5
|
||||
# - Item: M_M_Attack_Delay_4
|
||||
# - Item: M_M_Fatal4
|
||||
# - Item: M_M_Expert_Archer5
|
||||
# - Item: M_M_Vital
|
||||
# - Item: M_M_Mental
|
||||
# - Item: M_M_Heal
|
||||
# - Item: M_M_Power
|
||||
# - Item: M_M_Magic
|
||||
# - Item: M_M_Shooter
|
||||
# - Item: M_M_Fast
|
||||
# - Item: M_M_Caster
|
||||
# - Item: M_M_Critical
|
||||
# - Item: M_M_Delay_After_skill
|
||||
# - Item: M_M_Fixed_Casting
|
||||
# - Item: M_M_Above_All
|
||||
# - Item: M_M_Drain_Life
|
||||
# - Item: M_M_Drain_Soul
|
||||
# - Item: M_M_Magic_Healing
|
||||
# - Item: M_M_Magic_Soul
|
||||
# - Item: M_M_Unlimited_Vital
|
||||
# - Item: M_M_Spell_Buster
|
||||
# - Item: M_M_Firing_Shot
|
||||
# - Item: M_M_Overpower
|
||||
# - Item: M_M_Fatal_Flash
|
||||
# - Item: M_M_Lucky_Strike
|
||||
# - Item: EP17_1_EVT03
|
||||
# - Item: EP17_1_EVT04
|
||||
# - Item: EP17_1_EVT05
|
||||
# - Item: EP17_1_EVT06
|
||||
# - Item: EP17_1_EVT07
|
||||
# - Item: EP17_1_EVT08
|
||||
# - Item: EP17_1_EVT09
|
||||
# - Item: EP17_1_EVT10
|
||||
# - Item: EP17_1_EVT11
|
||||
# - Item: EP17_1_EVT12
|
||||
# - Item: EP17_1_EVT13
|
||||
# - Item: EP17_1_EVT14
|
||||
# - Item: EP17_1_EVT15
|
||||
# - Item: EP17_1_EVT16
|
||||
# - Item: EP17_1_EVT17
|
||||
# - Item: EP17_1_EVT18
|
||||
# - Item: EP17_1_EVT19
|
||||
# - Item: EP17_1_EVT20
|
||||
# - Item: EP17_1_EVT21
|
||||
# - Item: EP17_1_EVT22
|
||||
# - Item: EP17_1_EVT23
|
||||
# - Item: EP17_1_EVT24
|
||||
# - Item: EP17_1_EVT25
|
||||
# - Item: EP17_1_EVT26
|
||||
# - Item: EP17_1_EVT27
|
||||
# - Item: EP17_1_EVT28
|
||||
# - Item: EP17_1_EVT29
|
||||
# - Item: EP17_1_EVT30
|
||||
# - Item: EP17_1_EVT31
|
||||
# - Item: EP17_1_EVT32
|
||||
# - Item: EP17_1_EVT33
|
||||
# - Item: EP17_1_EVT34
|
||||
# - Item: EP17_1_EVT35
|
||||
# - Item: EP17_1_EVT36
|
||||
# - Item: EP17_1_EVT37
|
||||
# - Item: EP17_1_EVT38
|
||||
# - Item: Automatic_Module_Mix
|
||||
# RewardGroup: AUTOMATIC_MODULE_MIX
|
||||
# RequiredRequirementsCount: 5
|
||||
|
@ -2748,7 +2748,7 @@ Body:
|
||||
- Item: Imperial_Magic_Boots
|
||||
- Item: Imperial_Attack_Manteau
|
||||
- Item: Imperial_Magic_Manteau
|
||||
- Item: Grace_Refine_Ticket
|
||||
- Item: Grace_Rifine_Ticket
|
||||
ResultRefine: 9
|
||||
CardsAllowed: true
|
||||
TargetItems:
|
||||
@ -2757,23 +2757,23 @@ Body:
|
||||
- Item: Grace_Spear_Armor
|
||||
- Item: Grace_Genesis_Armor
|
||||
- Item: Grace_Sharp_Suit
|
||||
- Item: Grace_Aimed_Suit
|
||||
- Item: Grace_Aim_Suit
|
||||
- Item: Grace_Severe_Suit
|
||||
- Item: Grace_Reverb_Suit
|
||||
- Item: Grace_Adora_Robe
|
||||
- Item: Grace_Duple_Robe
|
||||
- Item: Grace_Tornado_Armor
|
||||
- Item: Grace_Tonado_Armor
|
||||
- Item: Grace_Vulcan_Armor
|
||||
- Item: Grace_Cart_Cannon_Suit
|
||||
- Item: Grace_Cart_Tornado_Suit
|
||||
- Item: Grace_Kart_Suit
|
||||
- Item: Grace_Kart_Suit2
|
||||
- Item: Grace_Rolling_Suit
|
||||
- Item: Grace_Assassin_Suit
|
||||
- Item: Grace_Assasin_Suit
|
||||
- Item: Grace_Fatal_Suit
|
||||
- Item: Grace_Stalker_Suit
|
||||
- Item: Grace_Picky_Robe
|
||||
- Item: Grace_Catnip_Robe
|
||||
- Item: Grace_Carrot_Robe
|
||||
- Item: Grace_Trip_Suit
|
||||
- Item: Grace_Fire_Rain_Suit
|
||||
- Item: Grace_Firerain_Suit
|
||||
- Item: Grace_Crimson_Robe
|
||||
- Item: Grace_Frost_Robe
|
||||
- Item: Grace_Psychic_Robe
|
||||
@ -2782,12 +2782,12 @@ Body:
|
||||
- Item: Grace_Moon_Suit
|
||||
- Item: Grace_Ninja_Suit
|
||||
- Item: Grace_Kunai_Suit
|
||||
- Item: Grace_Eswhoo_Robe
|
||||
- Item: Grace_Swhoo_Robe
|
||||
- Item: Grace_Explosion_Robe
|
||||
- Item: Grace_Knuckle_Suit
|
||||
- Item: Grace_Tiger_Suit
|
||||
- Item: Grace_Super_Novice_Suit
|
||||
- Item: Grace_Super_Novice_Robe
|
||||
- Item: Grace_Snovice_Suit
|
||||
- Item: Grace_Snovice_Robe
|
||||
- Item: Grace_Attack_Boots
|
||||
- Item: Grace_Magic_Boots
|
||||
- Item: Grace_Attack_Manteau
|
||||
@ -2802,13 +2802,13 @@ Body:
|
||||
TargetItems:
|
||||
- Item: Imperial_Attack_Manteau
|
||||
- Item: Imperial_Magic_Manteau
|
||||
- Item: Grace_P_Mo_Garment
|
||||
RandomOptionGroup: GRACE_P_MO_GARMENT
|
||||
- Item: Grace_Convert1
|
||||
RandomOptionGroup: GRACE_CONVERT1
|
||||
TargetItems:
|
||||
- Item: Grace_Attack_Manteau
|
||||
- Item: Grace_Magic_Manteau
|
||||
- Item: Grace_M_Mo_Garment
|
||||
RandomOptionGroup: GRACE_M_MO_GARMENT
|
||||
- Item: Grace_Convert2
|
||||
RandomOptionGroup: GRACE_CONVERT2
|
||||
TargetItems:
|
||||
- Item: Grace_Attack_Manteau
|
||||
- Item: Grace_Magic_Manteau
|
||||
@ -2890,31 +2890,31 @@ Body:
|
||||
- Item: Imperial_Tiger_Suit
|
||||
- Item: Imperial_Snovice_Suit
|
||||
- Item: Imperial_Snovice_Robe
|
||||
- Item: Grace_P_Mo_Armor
|
||||
RandomOptionGroup: GRACE_P_MO_ARMOR
|
||||
- Item: Grace_Convert3
|
||||
RandomOptionGroup: GRACE_CONVERT3
|
||||
TargetItems:
|
||||
- Item: Grace_Breath_Armor
|
||||
- Item: Grace_Knight_Armor
|
||||
- Item: Grace_Spear_Armor
|
||||
- Item: Grace_Genesis_Armor
|
||||
- Item: Grace_Sharp_Suit
|
||||
- Item: Grace_Aimed_Suit
|
||||
- Item: Grace_Aim_Suit
|
||||
- Item: Grace_Severe_Suit
|
||||
- Item: Grace_Reverb_Suit
|
||||
- Item: Grace_Adora_Robe
|
||||
- Item: Grace_Duple_Robe
|
||||
- Item: Grace_Tornado_Armor
|
||||
- Item: Grace_Tonado_Armor
|
||||
- Item: Grace_Vulcan_Armor
|
||||
- Item: Grace_Cart_Cannon_Suit
|
||||
- Item: Grace_Cart_Tornado_Suit
|
||||
- Item: Grace_Kart_Suit
|
||||
- Item: Grace_Kart_Suit2
|
||||
- Item: Grace_Rolling_Suit
|
||||
- Item: Grace_Assassin_Suit
|
||||
- Item: Grace_Assasin_Suit
|
||||
- Item: Grace_Fatal_Suit
|
||||
- Item: Grace_Stalker_Suit
|
||||
- Item: Grace_Picky_Robe
|
||||
- Item: Grace_Catnip_Robe
|
||||
- Item: Grace_Carrot_Robe
|
||||
- Item: Grace_Trip_Suit
|
||||
- Item: Grace_Fire_Rain_Suit
|
||||
- Item: Grace_Firerain_Suit
|
||||
- Item: Grace_Crimson_Robe
|
||||
- Item: Grace_Frost_Robe
|
||||
- Item: Grace_Psychic_Robe
|
||||
@ -2923,37 +2923,37 @@ Body:
|
||||
- Item: Grace_Moon_Suit
|
||||
- Item: Grace_Ninja_Suit
|
||||
- Item: Grace_Kunai_Suit
|
||||
- Item: Grace_Eswhoo_Robe
|
||||
- Item: Grace_Swhoo_Robe
|
||||
- Item: Grace_Explosion_Robe
|
||||
- Item: Grace_Knuckle_Suit
|
||||
- Item: Grace_Tiger_Suit
|
||||
- Item: Grace_Super_Novice_Suit
|
||||
- Item: Grace_Super_Novice_Robe
|
||||
- Item: Grace_M_Mo_Armor
|
||||
RandomOptionGroup: GRACE_M_MO_ARMOR
|
||||
- Item: Grace_Snovice_Suit
|
||||
- Item: Grace_Snovice_Robe
|
||||
- Item: Grace_Convert4
|
||||
RandomOptionGroup: GRACE_CONVERT4
|
||||
TargetItems:
|
||||
- Item: Grace_Breath_Armor
|
||||
- Item: Grace_Knight_Armor
|
||||
- Item: Grace_Spear_Armor
|
||||
- Item: Grace_Genesis_Armor
|
||||
- Item: Grace_Sharp_Suit
|
||||
- Item: Grace_Aimed_Suit
|
||||
- Item: Grace_Aim_Suit
|
||||
- Item: Grace_Severe_Suit
|
||||
- Item: Grace_Reverb_Suit
|
||||
- Item: Grace_Adora_Robe
|
||||
- Item: Grace_Duple_Robe
|
||||
- Item: Grace_Tornado_Armor
|
||||
- Item: Grace_Tonado_Armor
|
||||
- Item: Grace_Vulcan_Armor
|
||||
- Item: Grace_Cart_Cannon_Suit
|
||||
- Item: Grace_Cart_Tornado_Suit
|
||||
- Item: Grace_Kart_Suit
|
||||
- Item: Grace_Kart_Suit2
|
||||
- Item: Grace_Rolling_Suit
|
||||
- Item: Grace_Assassin_Suit
|
||||
- Item: Grace_Assasin_Suit
|
||||
- Item: Grace_Fatal_Suit
|
||||
- Item: Grace_Stalker_Suit
|
||||
- Item: Grace_Picky_Robe
|
||||
- Item: Grace_Catnip_Robe
|
||||
- Item: Grace_Carrot_Robe
|
||||
- Item: Grace_Trip_Suit
|
||||
- Item: Grace_Fire_Rain_Suit
|
||||
- Item: Grace_Firerain_Suit
|
||||
- Item: Grace_Crimson_Robe
|
||||
- Item: Grace_Frost_Robe
|
||||
- Item: Grace_Psychic_Robe
|
||||
@ -2962,12 +2962,12 @@ Body:
|
||||
- Item: Grace_Moon_Suit
|
||||
- Item: Grace_Ninja_Suit
|
||||
- Item: Grace_Kunai_Suit
|
||||
- Item: Grace_Eswhoo_Robe
|
||||
- Item: Grace_Swhoo_Robe
|
||||
- Item: Grace_Explosion_Robe
|
||||
- Item: Grace_Knuckle_Suit
|
||||
- Item: Grace_Tiger_Suit
|
||||
- Item: Grace_Super_Novice_Suit
|
||||
- Item: Grace_Super_Novice_Robe
|
||||
- Item: Grace_Snovice_Suit
|
||||
- Item: Grace_Snovice_Robe
|
||||
# - Item: Abyss_Ddbox2
|
||||
# TargetItems:
|
||||
# - Item: DragonA_Red
|
||||
|
1160
db/re/mob_db.yml
1160
db/re/mob_db.yml
File diff suppressed because it is too large
Load Diff
@ -12517,6 +12517,145 @@
|
||||
3765,Deranged Adventurer@NPC_TALK,idle,682,10,2500,0,35000,yes,self,always,0,,,,,,,53
|
||||
3765,Deranged Adventurer@NPC_TALK,idle,682,10,2500,0,30000,yes,self,always,0,,,,,,,54
|
||||
|
||||
// Episode 17.1 - Illusion (custom) #!todo
|
||||
20340,EL-A17T@NPC_AGIUP,chase,350,5,2000,0,60000,no,self,always,0,,,,,,6,
|
||||
20340,EL-A17T@NPC_POWERUP,attack,349,5,2000,0,60000,no,self,always,0,,,,,,6,
|
||||
20340,EL-A17T@NPC_CRITICALSLASH,attack,170,1,2000,500,5000,no,target,always,0,,,,,,,
|
||||
20340,EL-A17T@AS_SONICBLOW,attack,136,10,1000,0,10000,yes,target,always,0,,,,,,2,
|
||||
20340,EL-A17T@NPC_AGIUP,chase,350,5,2000,0,60000,no,self,always,0,,,,,,6,
|
||||
20341,E-EA1L@AL_DECAGI,attack,30,1,500,1000,5000,no,target,always,0,,,,,,29,
|
||||
20341,E-EA1L@NPC_HALLUCINATION,chase,207,1,500,500,5000,yes,target,always,0,,,,,,9,
|
||||
20341,E-EA1L@NPC_HALLUCINATION,attack,207,1,500,500,5000,yes,target,always,0,,,,,,9,
|
||||
20341,E-EA1L@MO_BODYRELOCATION,chase,264,1,2000,500,5000,no,target,always,0,,,,,,,
|
||||
20342,E-EA2S@AL_PNEUMA,attack,25,1,2000,0,5000,yes,self,longrangeattacked,0,,,,,,,
|
||||
20342,E-EA2S@NPC_CRITICALSLASH,attack,170,1,2000,0,2000,no,target,always,0,,,,,,,
|
||||
20342,E-EA2S@NPC_GUIDEDATTACK,attack,172,5,1000,0,5000,no,target,always,0,,,,,,,
|
||||
20342,E-EA2S@KN_TWOHANDQUICKEN,attack,60,30,10000,0,120000,yes,target,myhpltmaxrate,40,,,,,,,
|
||||
20342,E-EA2S@NPC_STUNATTACK,attack,179,5,500,1000,5000,no,target,always,0,,,,,,,
|
||||
20342,E-EA2S@AL_PNEUMA,chase,25,1,2000,0,5000,no,self,longrangeattacked,0,,,,,,,
|
||||
20343,E-13EN0@KN_PIERCE,attack,56,5,500,700,5000,no,target,always,,,,,,,,
|
||||
20343,E-13EN0@NPC_RANGEATTACK,chase,160,1,500,0,5000,yes,target,always,,,,,,,,
|
||||
20343,E-13EN0@NPC_WATERATTACK,attack,184,3,500,500,5000,no,target,always,,,,,,,6,
|
||||
20344,Chemical Bug@NPC_METAMORPHOSIS,any,193,1,10000,5000,0,no,self,onspawn,0,2536,,,,,,
|
||||
20345,Chemical Bomb@NPC_SELFDESTRUCTION,any,173,1,10000,5000,0,no,self,onspawn,0,,,,,,,
|
||||
20346,Miguel@RK_IGNITIONBREAK,attack,2006,5,2000,2000,10000,no,target,always,0,,,,,,,
|
||||
20346,Miguel@AM_DEMONSTRATION,chase,229,5,5000,0,2000,yes,target,always,0,,,,,,6,
|
||||
20346,Miguel@NPC_WINDATTACK,attack,187,5,1000,0,5000,yes,target,always,0,,,,,,,
|
||||
20346,Miguel@NPC_CRITICALSLASH,attack,170,1,1000,0,5000,yes,target,always,0,,,,,,,
|
||||
20346,Miguel@SM_ENDURE,chase,8,10,5000,0,5000,yes,self,always,0,,,,,,,
|
||||
20346,Miguel@SM_ENDURE,attack,8,10,2000,0,5000,yes,self,always,0,,,,,,,
|
||||
20347,Miguel@AM_DEMONSTRATION,chase,229,5,5000,0,2000,yes,target,always,0,,,,,,6,
|
||||
20347,Miguel@RK_IGNITIONBREAK,attack,2006,5,2000,2000,10000,no,target,always,0,,,,,,,
|
||||
20347,Miguel@NPC_CRITICALSLASH,attack,170,1,1000,0,5000,yes,target,always,0,,,,,,,
|
||||
20347,Miguel@NPC_WINDATTACK,attack,187,5,1000,0,5000,yes,target,always,0,,,,,,,
|
||||
20347,Miguel@SM_ENDURE,chase,8,10,5000,0,5000,yes,self,always,0,,,,,,,
|
||||
20347,Miguel@SM_ENDURE,attack,8,10,2000,0,5000,yes,self,always,0,,,,,,,
|
||||
20348,Twin Caput@NPC_DARKNESSATTACK,attack,190,3,500,500,5000,no,target,always,0,,,,,,6,
|
||||
20348,Twin Caput@NPC_POISON,attack,176,2,500,800,5000,no,target,always,0,,,,,,,
|
||||
20348,Twin Caput@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,29,
|
||||
20349,Dolor@NPC_CRITICALSLASH,attack,170,1,1000,500,5000,no,target,always,0,,,,,,,
|
||||
20349,Dolor@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,,
|
||||
20349,Dolor@SM_BASH,attack,5,10,2000,1000,30000,no,target,always,0,,,,,,52,
|
||||
20349,Dolor@NPC_POISONATTACK,attack,188,3,500,500,5000,no,target,always,0,,,,,,9,
|
||||
20350,Bellare@HT_BLASTMINE,idle,122,5,2000,0,60000,yes,around3,always,0,,,,,,5,
|
||||
20350,Bellare@HT_BLASTMINE,attack,122,5,500,0,5000,yes,around3,always,0,,,,,,5,
|
||||
20350,Bellare@NPC_CRITICALSLASH,attack,170,1,1000,0,5000,yes,target,always,0,,,,,,,
|
||||
20350,Bellare@BS_MAXIMIZE,attack,114,1,1000,0,60000,yes,self,always,0,,,,,,,
|
||||
20352,PomPom@NPC_POISON,attack,176,3,1000,800,5000,no,target,always,0,,,,,,,
|
||||
20352,PomPom@NPC_BLINDATTACK,attack,177,3,500,0,5000,yes,target,always,0,,,,,,6,
|
||||
20352,PomPom@NPC_BLINDATTACK,chase,177,3,500,0,5000,yes,target,always,0,,,,,,6,
|
||||
20355,Bellare@HT_BLASTMINE,idle,122,5,2000,0,60000,yes,around3,always,0,,,,,,5,
|
||||
20355,Bellare@HT_BLASTMINE,attack,122,5,500,0,5000,yes,around3,always,0,,,,,,5,
|
||||
20355,Bellare@NPC_CRITICALSLASH,attack,170,1,1000,0,5000,yes,target,always,0,,,,,,,
|
||||
20355,Bellare@BS_MAXIMIZE,attack,114,1,1000,0,60000,yes,self,always,0,,,,,,,
|
||||
20356,Greater Bellare@HT_BLASTMINE,idle,122,5,2000,0,60000,yes,around3,always,0,,,,,,5,
|
||||
20356,Greater Bellare@HT_BLASTMINE,attack,122,5,500,0,5000,yes,around3,always,0,,,,,,5,
|
||||
20356,Greater Bellare@NPC_CRITICALSLASH,attack,170,1,1000,0,5000,yes,target,always,0,,,,,,,
|
||||
20356,Greater Bellare@BS_MAXIMIZE,attack,114,1,1000,0,60000,yes,self,always,0,,,,,,,
|
||||
20356,Greater Bellare@NPC_COMBOATTACK,attack,171,3,500,700,5000,no,target,always,0,,,,,,,
|
||||
20356,Greater Bellare@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
|
||||
20357,Sanare@NPC_HOLYATTACK,attack,189,2,500,0,5000,no,target,always,0,,,,,,18,
|
||||
20357,Sanare@NPC_HOLYATTACK,chase,189,2,500,0,5000,no,target,always,0,,,,,,18,
|
||||
20357,Sanare@PR_LEXAETERNA,attack,78,1,500,0,5000,yes,target,always,0,,,,,,6,
|
||||
20357,Sanare@PR_LEXAETERNA,chase,78,1,500,0,5000,yes,target,always,0,,,,,,6,
|
||||
20357,Sanare@PR_LEXDIVINA,chase,76,10,500,0,5000,yes,target,always,0,,,,,,2,
|
||||
20357,Sanare@PR_LEXDIVINA,attack,76,10,500,0,5000,yes,target,always,0,,,,,,2,
|
||||
20357,Sanare@MG_NAPALMBEAT,attack,11,5,1000,0,5000,yes,target,always,0,,,,,,,
|
||||
20357,Sanare@MG_NAPALMBEAT,chase,11,5,1000,0,1000,yes,target,always,0,,,,,,,
|
||||
20358,Greater Sanare@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
|
||||
20358,Greater Sanare@NPC_HOLYATTACK,attack,189,2,500,0,5000,no,target,always,0,,,,,,18,
|
||||
20358,Greater Sanare@NPC_HOLYATTACK,chase,189,2,500,0,5000,no,target,always,0,,,,,,18,
|
||||
20358,Greater Sanare@PR_LEXAETERNA,attack,78,1,500,0,5000,yes,target,always,0,,,,,,6,
|
||||
20358,Greater Sanare@PR_LEXAETERNA,chase,78,1,500,0,5000,yes,target,always,0,,,,,,6,
|
||||
20358,Greater Sanare@PR_LEXDIVINA,chase,76,10,500,0,5000,yes,target,always,0,,,,,,2,
|
||||
20358,Greater Sanare@PR_LEXDIVINA,attack,76,10,500,0,5000,yes,target,always,0,,,,,,2,
|
||||
20358,Greater Sanare@MG_NAPALMBEAT,attack,11,5,1000,0,5000,yes,target,always,0,,,,,,,
|
||||
20358,Greater Sanare@MG_NAPALMBEAT,chase,11,5,1000,0,1000,yes,target,always,0,,,,,,,
|
||||
20359,Plaga@MG_FIREBALL,follow,17,44,500,0,5000,yes,target,always,0,,,,,,,
|
||||
20359,Plaga@NPC_FIREATTACK,angry,186,5,500,500,5000,no,target,always,0,,,,,,,
|
||||
20359,Plaga@SM_MAGNUM,angry,7,25,500,500,5000,no,self,always,0,,,,,,,
|
||||
20359,Plaga@MG_FIREBALL,chase,17,44,500,0,5000,yes,target,always,0,,,,,,,
|
||||
20359,Plaga@NPC_FIREATTACK,attack,186,5,500,500,5000,no,target,always,0,,,,,,,
|
||||
20359,Plaga@SM_MAGNUM,attack,7,25,500,500,5000,no,self,always,0,,,,,,,
|
||||
20359,Plaga@MG_FIREBALL,follow,17,44,500,0,5000,yes,target,always,0,,,,,,,
|
||||
20359,Plaga@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,0,,,,,,,
|
||||
20359,Plaga@NPC_CURSEATTACK,attack,181,3,500,800,5000,no,target,always,0,,,,,,,
|
||||
20359,Plaga@NPC_CURSEATTACK,chase,181,3,500,800,5000,no,target,always,0,,,,,,,
|
||||
20360,Greater Plaga@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
|
||||
20360,Greater Plaga@NPC_FIREATTACK,angry,186,5,500,500,5000,no,target,always,0,,,,,,,
|
||||
20360,Greater Plaga@SM_MAGNUM,angry,7,25,500,500,5000,no,self,always,0,,,,,,,
|
||||
20360,Greater Plaga@MG_FIREBALL,chase,17,44,500,0,5000,yes,target,always,0,,,,,,,
|
||||
20360,Greater Plaga@NPC_FIREATTACK,attack,186,5,500,500,5000,no,target,always,0,,,,,,,
|
||||
20360,Greater Plaga@SM_MAGNUM,attack,7,25,500,500,5000,no,self,always,0,,,,,,,
|
||||
20360,Greater Plaga@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,0,,,,,,,
|
||||
20360,Greater Plaga@NPC_CURSEATTACK,attack,181,3,500,800,5000,no,target,always,0,,,,,,,
|
||||
20360,Greater Plaga@NPC_CURSEATTACK,chase,181,3,500,800,5000,no,target,always,0,,,,,,,
|
||||
20361,Dolor@NPC_CRITICALSLASH,attack,170,1,1000,500,5000,no,target,always,0,,,,,,,
|
||||
20361,Dolor@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,,
|
||||
20361,Dolor@SM_BASH,attack,5,10,2000,1000,30000,no,target,always,0,,,,,,52,
|
||||
20361,Dolor@NPC_POISONATTACK,attack,188,3,500,500,5000,no,target,always,0,,,,,,9,
|
||||
20362,Greater Dolor@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
|
||||
20362,Greater Dolor@NPC_CRITICALSLASH,attack,170,1,1000,500,5000,no,target,always,0,,,,,,,
|
||||
20362,Greater Dolor@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,,
|
||||
20362,Greater Dolor@SM_BASH,attack,5,10,2000,1000,30000,no,target,always,0,,,,,,52,
|
||||
20362,Greater Dolor@NPC_POISONATTACK,attack,188,3,500,500,5000,no,target,always,0,,,,,,9,
|
||||
20363,Venenum@KN_PIERCE,attack,56,5,500,700,5000,no,target,always,,,,,,,,
|
||||
20363,Venenum@NPC_RANGEATTACK,chase,160,1,500,0,5000,yes,target,always,,,,,,,,
|
||||
20363,Venenum@NPC_POISONATTACK,attack,188,3,500,500,5000,no,target,always,0,,,,,,9,
|
||||
20363,Venenum@AS_VENOMDUST,attack,140,1,500,1500,5000,no,target,always,0,,,,,,,
|
||||
20364,Greater Venenum@KN_PIERCE,attack,56,5,500,700,5000,no,target,always,,,,,,,,
|
||||
20364,Greater Venenum@NPC_RANGEATTACK,chase,160,1,500,0,5000,yes,target,always,,,,,,,,
|
||||
20364,Greater Venenum@NPC_POISONATTACK,attack,188,3,500,500,5000,no,target,always,0,,,,,,9,
|
||||
20364,Greater Venenum@AS_VENOMDUST,attack,140,1,500,1500,5000,no,target,always,0,,,,,,,
|
||||
20364,Greater Venenum@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
|
||||
20365,Twin Caput@NPC_DARKNESSATTACK,attack,190,3,500,500,5000,no,target,always,0,,,,,,6,
|
||||
20365,Twin Caput@NPC_POISON,attack,176,2,500,800,5000,no,target,always,0,,,,,,,
|
||||
20365,Twin Caput@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,29,
|
||||
20366,Greater Twin Caput@NPC_DARKNESSATTACK,attack,190,3,500,500,5000,no,target,always,0,,,,,,6,
|
||||
20366,Greater Twin Caput@NPC_POISON,attack,176,2,500,800,5000,no,target,always,0,,,,,,,
|
||||
20366,Greater Twin Caput@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,29,
|
||||
20366,Greater Twin Caput@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
|
||||
20381,R48-85-BESTIA@NPC_DARKSTRIKE,idle,340,10,10000,0,0,no,target,rudeattacked,,,,,,,,
|
||||
20381,R48-85-BESTIA@NPC_DARKSTRIKE,chase,340,5,5000,0,1000,no,target,always,0,,,,,,,
|
||||
20381,R48-85-BESTIA@NPC_HELLJUDGEMENT,chase,662,5,5000,4000,5000,yes,self,myhpltmaxrate,50,,,,,,7,
|
||||
20381,R48-85-BESTIA@NPC_HELLJUDGEMENT,attack,662,5,10000,4000,5000,yes,self,myhpltmaxrate,50,,,,,,7,
|
||||
20381,R48-85-BESTIA@NPC_DRAGONFEAR,chase,659,5,10000,0,0,no,self,always,0,,,,,,,
|
||||
20381,R48-85-BESTIA@NPC_DRAGONFEAR,attack,659,5,2000,1000,20000,yes,self,always,0,,,,,,,
|
||||
20381,R48-85-BESTIA@NPC_POWERUP,attack,349,5,10000,0,50000,no,self,myhpltmaxrate,30,,,,,,6,
|
||||
20381,R48-85-BESTIA@NPC_VAMPIRE_GIFT,attack,679,5,10000,0,0,no,self,skillused,490,,,,,,42,
|
||||
20381,R48-85-BESTIA@NPC_CRITICALWOUND,attack,673,4,500,500,5000,yes,target,always,0,,,,,,,
|
||||
20381,R48-85-BESTIA@WZ_QUAGMIRE,chase,92,5,3000,0,10000,yes,target,always,0,,,,,,,
|
||||
20381,R48-85-BESTIA@WZ_QUAGMIRE,attack,92,5,3000,0,10000,yes,target,always,0,,,,,,,
|
||||
20381,R48-85-BESTIA@AL_INCAGI,attack,29,1,2000,0,240000,yes,self,always,0,,,,,,2,
|
||||
20381,R48-85-BESTIA@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
|
||||
20381,R48-85-BESTIA@NPC_CALLSLAVE,attack,352,1,10000,0,60000,yes,self,always,0,,,,,,,
|
||||
20381,R48-85-BESTIA@NPC_CALLSLAVE,idle,352,1,10000,0,60000,yes,self,always,0,,,,,,,
|
||||
20381,R48-85-BESTIA@NPC_SUMMONSLAVE,attack,196,6,10000,700,30000,no,self,slavele,0,20382,20382,20382,,,,
|
||||
20381,R48-85-BESTIA@NPC_SUMMONSLAVE,idle,196,6,10000,700,30000,no,self,slavele,0,20382,20382,20382,,,,
|
||||
20382,G Twin Caput@NPC_DARKNESSATTACK,attack,190,3,500,500,5000,no,target,always,0,,,,,,6,
|
||||
20382,G Twin Caput@NPC_POISON,attack,176,2,500,800,5000,no,target,always,0,,,,,,,
|
||||
20382,G Twin Caput@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,29,
|
||||
|
||||
// Meister ABR's (Automated Battle Robot)
|
||||
20834,ABR_BATTLE_WARIOR@ABR_BATTLE_BUSTER,chase,8601,1,10000,500,5000,yes,target,always,0,,,,,,,
|
||||
20834,ABR_BATTLE_WARIOR@ABR_BATTLE_BUSTER,attack,8601,1,10000,500,5000,yes,target,always,0,,,,,,,
|
||||
|
@ -2781,9 +2781,39 @@ Body:
|
||||
- Id: 5855
|
||||
Title: "[Wait] Utan Fighting Operation"
|
||||
TimeLimit: 4h
|
||||
- Id: 5856
|
||||
Title: My Name is Morning
|
||||
- Id: 5857
|
||||
Title: Friends of Morning
|
||||
- Id: 5858
|
||||
Title: Friends of Morning
|
||||
- Id: 5859
|
||||
Title: Friends of Morning
|
||||
- Id: 5860
|
||||
Title: Friends of Morning
|
||||
- Id: 5861
|
||||
Title: "[Waiting] Take care of the morning"
|
||||
TimeLimit: 4h
|
||||
- Id: 5862
|
||||
Title: Morning's Menu Selection
|
||||
- Id: 5863
|
||||
Title: Morning's Menu Selection
|
||||
- Id: 5864
|
||||
Title: Morning's Menu Selection
|
||||
- Id: 5865
|
||||
Title: Morning's Menu Selection
|
||||
- Id: 5866
|
||||
Title: Morning's Menu Selection
|
||||
- Id: 5867
|
||||
Title: Morning's Menu Selection
|
||||
- Id: 5868
|
||||
Title: Morning's Menu Selection
|
||||
- Id: 5869
|
||||
Title: Morning's Menu Selection
|
||||
- Id: 5870
|
||||
Title: Morning's Menu Selection
|
||||
- Id: 5871
|
||||
Title: Morning's Menu Selection
|
||||
- Id: 5896
|
||||
Title: "[Waiting] Cleaning the sewage treatment plant."
|
||||
TimeLimit: 4h
|
||||
@ -4835,6 +4865,54 @@ Body:
|
||||
- Id: 7842
|
||||
Title: Today's Sweets Drops Avenger (Standby)
|
||||
TimeLimit: 4h
|
||||
- Id: 7850
|
||||
Title: Cat on Bullet
|
||||
- Id: 7851
|
||||
Title: New Operation
|
||||
- Id: 7852
|
||||
Title: Beyond the Barrier
|
||||
- Id: 7853
|
||||
Title: Barrier Investigation
|
||||
- Id: 7854
|
||||
Title: Wall on Barrier
|
||||
- Id: 7855
|
||||
Title: Watchtower
|
||||
- Id: 7856
|
||||
Title: Small Hole
|
||||
- Id: 7857
|
||||
Title: Report to Lucky
|
||||
- Id: 7858
|
||||
Title: Investigate the Strange Sounds
|
||||
Targets:
|
||||
- Mob: EP17_1_DOLOR1
|
||||
Count: 10
|
||||
- Mob: EP17_1_VENENUM1
|
||||
Count: 10
|
||||
- Mob: EP17_1_TWIN_CAPUT1
|
||||
Count: 10
|
||||
- Id: 7859
|
||||
Title: Report to Tes
|
||||
- Id: 7860
|
||||
Title: Unexpected Guest
|
||||
- Id: 7861
|
||||
Title: Enterprise Crisis
|
||||
- Id: 7862
|
||||
Title: Reclaim Regenschirm
|
||||
- Id: 7863
|
||||
Title: Laboratory Data
|
||||
- Id: 7864
|
||||
Title: Ventilation
|
||||
- Id: 7865
|
||||
Title: Second Operation
|
||||
- Id: 7866
|
||||
Title: Along with Cat on Bullet
|
||||
- Id: 7867
|
||||
Title: Mercenary vs Mercenary
|
||||
Targets:
|
||||
- Mob: EP17_1_BELLARE1
|
||||
Count: 15
|
||||
- Mob: EP17_1_SANARE1
|
||||
Count: 15
|
||||
- Id: 7868
|
||||
Title: Mercenary vs Mercenary - Waiting
|
||||
TimeLimit: 4h
|
||||
@ -7158,6 +7236,22 @@ Body:
|
||||
- Id: 11571
|
||||
Title: Let the light consume the darkness - Wait
|
||||
TimeLimit: 4h
|
||||
- Id: 11596
|
||||
Title: Old Memories
|
||||
- Id: 11597
|
||||
Title: Old Memories
|
||||
- Id: 11598
|
||||
Title: Old Memories
|
||||
- Id: 11599
|
||||
Title: Old Memories
|
||||
- Id: 11600
|
||||
Title: Old Memories
|
||||
- Id: 11601
|
||||
Title: Old Memories
|
||||
- Id: 11602
|
||||
Title: Old Memories
|
||||
- Id: 11603
|
||||
Title: Old Memories
|
||||
- Id: 11606
|
||||
Title: Jack The Giant Pumpkin (Standby)
|
||||
TimeLimit: 4h
|
||||
@ -8160,9 +8254,16 @@ Body:
|
||||
- Id: 12421
|
||||
Title: Aftereffects that saved the world
|
||||
TimeLimit: 4h
|
||||
- Id: 12452
|
||||
Title: OS Occupation
|
||||
- Id: 12453
|
||||
Title: Operation Waiting
|
||||
TimeLimit: 4h
|
||||
- Id: 12454
|
||||
Title: More Search Operations
|
||||
Targets:
|
||||
- Mob: MD_MIGUEL
|
||||
Count: 1
|
||||
- Id: 12455
|
||||
Title: Operation Waiting
|
||||
TimeLimit: 4h
|
||||
@ -9325,7 +9426,7 @@ Body:
|
||||
Title: Time for repair
|
||||
TimeLimit: 4h
|
||||
- Id: 14613
|
||||
Title: Erst on second floor
|
||||
Title: Est on second floor
|
||||
- Id: 14614
|
||||
Title: Convince the leaders
|
||||
- Id: 14615
|
||||
@ -9913,12 +10014,61 @@ Body:
|
||||
- Id: 16344
|
||||
Title: Healthy Herb of June (Standby)
|
||||
TimeLimit: 4h
|
||||
- Id: 16352
|
||||
Title: Call from Elena Volkova
|
||||
- Id: 16353
|
||||
Title: Golden Troublemaker
|
||||
- Id: 16354
|
||||
Title: Operation of Elyumina
|
||||
- Id: 16355
|
||||
Title: Suspicious Box
|
||||
- Id: 16356
|
||||
Title: Suspicious Box
|
||||
- Id: 16357
|
||||
Title: Elyumina Secured
|
||||
- Id: 16358
|
||||
Title: Pure Wicked
|
||||
- Id: 16359
|
||||
Title: Pure Violence
|
||||
- Id: 16360
|
||||
Title: Pure Facts
|
||||
- Id: 16361
|
||||
Title: Pure Backward
|
||||
- Id: 16362
|
||||
Title: Pure Backstab (Standby)
|
||||
TimeLimit: 4h
|
||||
- Id: 16363
|
||||
Title: Process EL1_A17T
|
||||
Targets:
|
||||
- Mob: MD_E_EA1L
|
||||
Count: 1
|
||||
- Id: 16364
|
||||
Title: Helping Farm Worker
|
||||
- Id: 16365
|
||||
Title: Standby
|
||||
Title: Helping Farm Worker - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 16366
|
||||
Title: Helping Farm Worker
|
||||
- Id: 16367
|
||||
Title: Growing Grapes
|
||||
- Id: 16368
|
||||
Title: Growing Grapes
|
||||
- Id: 16369
|
||||
Title: Growing Grapes
|
||||
- Id: 16370
|
||||
Title: Growing Bean Plants
|
||||
- Id: 16371
|
||||
Title: Growing Bean Plants
|
||||
- Id: 16372
|
||||
Title: Growing Bean Plants
|
||||
- Id: 16373
|
||||
Title: Growing Pumpkins
|
||||
- Id: 16374
|
||||
Title: Growing Pumpkins
|
||||
- Id: 16375
|
||||
Title: Growing Pumpkins
|
||||
- Id: 16376
|
||||
Title: Overpower EL1_A17T
|
||||
- Id: 16377
|
||||
Title: EL1_A17T Overpower (Standby)
|
||||
TimeLimit: +10mn
|
||||
@ -9988,6 +10138,8 @@ Body:
|
||||
- Id: 16538
|
||||
Title: Natural change - Waiting
|
||||
TimeLimit: 4h
|
||||
- Id: 16546
|
||||
Title: Farm Worker
|
||||
- Id: 17000
|
||||
Title: Meet with Father Bamph
|
||||
- Id: 17001
|
||||
@ -10024,8 +10176,49 @@ Body:
|
||||
Title: Regicide
|
||||
- Id: 17017
|
||||
Title: Reporting the King's Death
|
||||
- Id: 17018
|
||||
Title: Status of patients
|
||||
- Id: 17019
|
||||
Title: Urgent situation
|
||||
- Id: 17020
|
||||
Title: Resume investigation
|
||||
- Id: 17021
|
||||
Title: Finding Patrick
|
||||
- Id: 17022
|
||||
Title: Finding Patrick
|
||||
- Id: 17023
|
||||
Title: Finding Patrick
|
||||
- Id: 17024
|
||||
Title: Finding Patrick
|
||||
- Id: 17025
|
||||
Title: Finding Patrick
|
||||
- Id: 17026
|
||||
Title: Finding Patrick
|
||||
- Id: 17027
|
||||
Title: Finding Patrick
|
||||
- Id: 17028
|
||||
Title: Finding Patrick
|
||||
- Id: 17029
|
||||
Title: Finding Patrick
|
||||
- Id: 17030
|
||||
Title: Finding Patrick
|
||||
- Id: 17031
|
||||
Title: Finding Patrick
|
||||
- Id: 17032
|
||||
Title: Finding Patrick
|
||||
- Id: 17033
|
||||
Title: For all future work
|
||||
- Id: 17034
|
||||
Title: Rudus
|
||||
Targets:
|
||||
- Mob: EP17_1_DOLOR1
|
||||
Count: 20
|
||||
Drops:
|
||||
- Mob: EP17_1_DOLOR1
|
||||
Item: Id_Card
|
||||
Rate: 5000
|
||||
- Id: 17035
|
||||
Title: "Waiting: Ludusro"
|
||||
Title: "Waiting: Rudus"
|
||||
TimeLimit: 4h
|
||||
- Id: 17037
|
||||
Title: "Wait: Replace attribute"
|
||||
@ -10105,6 +10298,8 @@ Body:
|
||||
- Id: 17566
|
||||
Title: (Standby) Code name! Is it a star button?
|
||||
TimeLimit: 4h
|
||||
- Id: 18000
|
||||
Title: Ready to enter
|
||||
- Id: 18001
|
||||
Title: Delivery for Rooney
|
||||
- Id: 18002
|
||||
@ -10158,64 +10353,6 @@ Body:
|
||||
- Id: 18028
|
||||
Title: The Memory of Thanatos the Magistrate - Waiting
|
||||
TimeLimit: 4h
|
||||
- Id: 18030
|
||||
Title: Geoborg Family Curse
|
||||
TimeLimit: 4h
|
||||
- Id: 18031
|
||||
Title: Geoborg Family Curse
|
||||
- Id: 18032
|
||||
Title: Geoborg Family Curse
|
||||
TimeLimit: 4h
|
||||
- Id: 18033
|
||||
Title: Geoborg Family Curse
|
||||
- Id: 18034
|
||||
Title: Geoborg Family Curse
|
||||
TimeLimit: 4h
|
||||
- Id: 18035
|
||||
Title: Geoborg Family Curse
|
||||
- Id: 18036
|
||||
Title: Geoborg Family Curse
|
||||
TimeLimit: 4h
|
||||
- Id: 18037
|
||||
Title: Geoborg Family Curse
|
||||
- Id: 18038
|
||||
Title: Geoborg Family Curse
|
||||
TimeLimit: 4h
|
||||
- Id: 18039
|
||||
Title: Geoborg Family Curse
|
||||
- Id: 18040
|
||||
Title: Geoborg Family Curse
|
||||
TimeLimit: 4h
|
||||
- Id: 18041
|
||||
Title: Geoborg Family Curse
|
||||
- Id: 18042
|
||||
Title: Geoborg Family Curse
|
||||
TimeLimit: 4h
|
||||
- Id: 18043
|
||||
Title: Geoborg Family Curse
|
||||
- Id: 18044
|
||||
Title: Geoborg Family Curse
|
||||
TimeLimit: 4h
|
||||
- Id: 18045
|
||||
Title: Geoborg Family Curse
|
||||
- Id: 18046
|
||||
Title: Geoborg Family Curse
|
||||
TimeLimit: 4h
|
||||
- Id: 18047
|
||||
Title: Geoborg Family Curse
|
||||
- Id: 18048
|
||||
Title: Geoborg Family Curse
|
||||
TimeLimit: 4h
|
||||
- Id: 18049
|
||||
Title: Geoborg Family Curse
|
||||
- Id: 18050
|
||||
Title: Geoborg Family Curse
|
||||
TimeLimit: 4h
|
||||
- Id: 18051
|
||||
Title: Geoborg Family Curse
|
||||
- Id: 18052
|
||||
Title: Geoborg Family Curse
|
||||
TimeLimit: 4h
|
||||
- Id: 18054
|
||||
Title: Nightmare on the clock tower - Standby
|
||||
TimeLimit: 4h
|
||||
|
@ -3,7 +3,7 @@
|
||||
//===== By:==================================================
|
||||
//= rAthena Dev Team
|
||||
//===== Last Updated:========================================
|
||||
//= 20201115
|
||||
//= 20220308
|
||||
//===== Description:=========================================
|
||||
//= A reference manual for the rAthena scripting language.
|
||||
//= Commands are sorted depending on their functionality.
|
||||
@ -4579,6 +4579,22 @@ Unlike 'getexp', this command ignores the adjustment factors!
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*getbaseexp_ratio(<percent>{,<base_level>{,char_id});
|
||||
|
||||
Returns the amount of base experience representing the given <percent> of the
|
||||
required base experience at <base_level>. If no base level is specified the base
|
||||
level of the attached character will be used.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*getjobexp_ratio(<percent>{,<job_level>{,char_id});
|
||||
|
||||
Returns the amount of job experience representing the given <percent> of the
|
||||
required job experience at <job_level>. If no job level is specified the job
|
||||
level of the attached character will be used.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*setlook <look type>,<look value>{,<char_id>};
|
||||
*changelook <look type>,<look value>{,<char_id>};
|
||||
|
||||
@ -7854,6 +7870,42 @@ memory of where the points are set whatsoever.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*viewpointmap "<map name>",<action>,<x>,<y>,<point number>,<color>;
|
||||
|
||||
This command will mark places on the mini map in the client for all players currently
|
||||
on the defined map. It uses the normal X and Y coordinates from the main map.
|
||||
The colors of the marks are defined using a hexadecimal number, same as the ones
|
||||
used to color text in 'mes' output, but are written as hexadecimal numbers in C.
|
||||
(They look like 0x<six numbers>.)
|
||||
|
||||
Action is what you want to do with a point, 1 will set it, while 2 will clear
|
||||
it. 0 will also set it, but automatically removes the point after 15 seconds.
|
||||
Point number is the number of the point - you can have several. If more than
|
||||
one point is drawn at the same coordinates, they will cycle, which can be used
|
||||
to create flashing marks.
|
||||
|
||||
// This command will show a mark at coordinates X 30 Y 40, is mark number 1,
|
||||
// and will be red for all players currently on the map Prontera.
|
||||
|
||||
viewpointmap "prontera",1,30,40,1,0xFF0000;
|
||||
|
||||
This will create three points:
|
||||
.@map$ = "prontera";
|
||||
viewpointmap .@map$,1,30,40,1,0xFF0000;
|
||||
viewpointmap .@map$,1,35,45,2,0xFF0000;
|
||||
viewpointmap .@map$,1,40,50,3,0xFF0000;
|
||||
|
||||
And this is how you remove them:
|
||||
.@map$ = "prontera";
|
||||
viewpointmap .@map$,2,30,40,1,0xFF0000;
|
||||
viewpointmap .@map$,2,35,45,2,0xFF0000;
|
||||
viewpointmap .@map$,2,40,50,3,0xFF0000;
|
||||
|
||||
The client determines what it does with the points entirely, the server keeps no
|
||||
memory of where the points are set whatsoever.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*cutin "<filename>",<position>;
|
||||
|
||||
This command will display a picture, usually an NPC illustration, also called
|
||||
@ -9570,7 +9622,7 @@ Examples:
|
||||
*questinfo <Icon>{,<Map Mark Color>{,"<condition>"}};
|
||||
|
||||
This command should only be used in OnInit/OnInstanceInit labels.
|
||||
Show an emotion on top of a NPC, and optionally, a colored mark in the mini-map like "viewpoint".
|
||||
Show an emotion on top of a NPC, and optionally, a colored mark in the mini-map like "viewpoint" or "viewpointmap".
|
||||
When a user is doing some action, each NPC is checked for questinfo that has been set on the map.
|
||||
If questinfo is present, it will check if the player fulfill the condition.
|
||||
If he/she does or no condition has been set, the bubble will appear.
|
||||
@ -9696,7 +9748,7 @@ Return the state of the quest:
|
||||
*showevent <icon>{,<mark color>{,<char_id>}}
|
||||
|
||||
Show an emotion on top of a NPC, and optionally,
|
||||
a colored mark in the mini-map like "viewpoint".
|
||||
a colored mark in the mini-map like "viewpoint" or "viewpointmap".
|
||||
This is used to indicate that a NPC has a quest or an event to
|
||||
a certain player.
|
||||
|
||||
|
@ -1,12 +1,6 @@
|
||||
//===== rAthena Script =======================================
|
||||
//===== rAthena Script =======================================
|
||||
//= Nameless Island Quests
|
||||
//===== By: ==================================================
|
||||
//= L0ne_W0lf
|
||||
//===== Current Version: =====================================
|
||||
//= 2.4
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena Project
|
||||
//===== Description: =========================================
|
||||
//===== Description: =========================================
|
||||
//= [Official Conversion]
|
||||
//= Collection of Nameless Island Quests
|
||||
//= Nameless Island:
|
||||
@ -34,7 +28,7 @@
|
||||
//= Rogue Guild Investigation Assistance:
|
||||
//- - Assist the Rogue Guild with their investigations.
|
||||
//= - Variable in use: rumour_nd (Max: 22)
|
||||
//===== Additional Comments: =================================
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 First version. [L0ne_W0lf]
|
||||
//= 1.1 Made quest accessable to "Failed" Geoborg quest. [L0ne_W0lf]
|
||||
//= 1.1a Touch up to other Geoborg fail-points. [L0ne_W0lf]
|
||||
@ -63,7 +57,8 @@
|
||||
//= 2.3 Updated RE/Pre-RE EXP. [Euphy]
|
||||
//= 2.4 Moved Dorian to pre-re/re paths. [Euphy]
|
||||
//= 2.5 Updated Nameless Island quests and added questlog support. [Euphy]
|
||||
//============================================================
|
||||
//= 2.6 Commented custom quest log support for the Nameless Island Quest [Everade]
|
||||
//============================================================
|
||||
|
||||
// Nameless Island and Cursed Monestary Access Quest :: aru_monas
|
||||
//============================================================
|
||||
@ -81,7 +76,7 @@ OnTouch:
|
||||
mes "Church^000000. Please visit him";
|
||||
mes "as soon as you can.";
|
||||
set aru_monas,1;
|
||||
setquest 17000;
|
||||
//setquest 17000;
|
||||
close2;
|
||||
hideonnpc "Agent#pc1";
|
||||
}
|
||||
@ -196,7 +191,7 @@ cmd_in02,111,52,3 script Ordinary Man#pc2 97,{
|
||||
mes "Arunafeltz so I wasn't able";
|
||||
mes "to investigate any further.";
|
||||
set aru_monas,4;
|
||||
changequest 17001,17002;
|
||||
//changequest 17001,17002;
|
||||
close;
|
||||
}
|
||||
else {
|
||||
@ -437,7 +432,7 @@ OnTouch:
|
||||
mes "like it! It's almost like";
|
||||
mes "a dessert. God, it's good!";
|
||||
set aru_monas,8;
|
||||
changequest 17003,17004;
|
||||
//changequest 17003,17004;
|
||||
if (Zeny > 3000) {
|
||||
set Zeny, Zeny-3000;
|
||||
getitem 12052,4; //Vit_Dish02
|
||||
@ -474,7 +469,7 @@ ve_in,78,314,5 script Magistrate#Aru 945,{
|
||||
mes "comfortable talking to complete";
|
||||
mes "strangers about my problems.";
|
||||
set aru_monas,9;
|
||||
changequest 17004,17005;
|
||||
//changequest 17004,17005;
|
||||
close;
|
||||
}
|
||||
else if (aru_monas == 9) {
|
||||
@ -518,7 +513,7 @@ ve_in,78,314,5 script Magistrate#Aru 945,{
|
||||
mes "Oh, and you're prohibited";
|
||||
mes "asking anyone else, so behave.";
|
||||
set aru_monas,11;
|
||||
changequest 17006,17007;
|
||||
//changequest 17006,17007;
|
||||
close;
|
||||
}
|
||||
else if (aru_monas < 13) {
|
||||
@ -614,7 +609,7 @@ ve_in,78,314,5 script Magistrate#Aru 945,{
|
||||
mes "smugglers again? I don't";
|
||||
mes "know what's going on...";
|
||||
set aru_monas,14;
|
||||
changequest 17009,17010;
|
||||
//changequest 17009,17010;
|
||||
next;
|
||||
mes "[Al Hamad]";
|
||||
mes "Even if I could make headway";
|
||||
@ -684,7 +679,7 @@ ve_in,81,296,3 script Soldier#Aru 946,{
|
||||
mes "interrogating the smugglers.";
|
||||
mes "I'm not sure if he did since the smugglers were taken away.";
|
||||
set aru_monas,10;
|
||||
changequest 17005,17006;
|
||||
//changequest 17005,17006;
|
||||
close;
|
||||
}
|
||||
else if (aru_monas == 10) {
|
||||
@ -726,7 +721,7 @@ ve_in,239,115,0 script Drunkard#Aru 943,{
|
||||
mes "He thought he saw a ^DBDB70ghost^000000!";
|
||||
mes "Bwah hah hah! Oooog... Hey...";
|
||||
set aru_monas,15;
|
||||
changequest 17010,17011;
|
||||
//changequest 17010,17011;
|
||||
next;
|
||||
mes "["+strcharinfo(0)+"]";
|
||||
mes "That's right!";
|
||||
@ -837,7 +832,7 @@ ve_fild07,125,128,0 script Boat#Aru 111,{
|
||||
mes "this will probably be";
|
||||
mes "a pretty rocky ride...";
|
||||
set aru_monas,17;
|
||||
changequest 17012,17013;
|
||||
//changequest 17012,17013;
|
||||
close2;
|
||||
hideonnpc "Secret Agent#Aru";
|
||||
warp "nameless_i",257,217;
|
||||
@ -905,7 +900,7 @@ ve_fild07,128,130,1 script Secret Agent#Aru 97,{
|
||||
mes "this will probably be";
|
||||
mes "a pretty rocky ride...";
|
||||
set aru_monas,17;
|
||||
changequest 17012,17013;
|
||||
//changequest 17012,17013;
|
||||
close2;
|
||||
hideonnpc "Secret Agent#Aru";
|
||||
warp "nameless_i",257,217;
|
||||
@ -1184,7 +1179,7 @@ OnTouch:
|
||||
mes "for you in the boat. Learn";
|
||||
mes "what you need to learn, and then come back safe, "+strcharinfo(0)+".";
|
||||
set aru_monas,21;
|
||||
changequest 17013,17014;
|
||||
//changequest 17013,17014;
|
||||
close2;
|
||||
hideonnpc "Larjes#Monastery2";
|
||||
}
|
||||
@ -1297,7 +1292,7 @@ nameless_n,259,218,3 script Larjes#Boat1 97,{
|
||||
mes "going... This is huge!";
|
||||
delitem 7726,1; //Token_Of_King
|
||||
set aru_monas,25;
|
||||
changequest 17016,17017;
|
||||
//changequest 17016,17017;
|
||||
getexp (checkre(3))?100000:1000000,0;
|
||||
close;
|
||||
}
|
||||
@ -1344,7 +1339,7 @@ abbey02,224,70,0 script Books#Mona1 111,{
|
||||
next;
|
||||
if(select("Examine Book:Ignore")==1) {
|
||||
set aru_monas,22;
|
||||
changequest 17014,17015;
|
||||
//changequest 17014,17015;
|
||||
getitem 7755,1; // Reasearch_Note
|
||||
readbook 7755,1;
|
||||
close;
|
||||
@ -1443,7 +1438,7 @@ abbey03,232,232,4 script Dead Man#King 956,{
|
||||
mes "this man is...!";
|
||||
set aru_monas,24;
|
||||
getitem 7726,1; //Token_of_King
|
||||
changequest 17015,17016;
|
||||
//changequest 17015,17016;
|
||||
hideonnpc "Dead Man#King";
|
||||
hideoffnpc "Man#King";
|
||||
stopnpctimer;
|
||||
@ -1644,7 +1639,7 @@ ra_temple,165,57,5 script Niren#ss 915,{
|
||||
mes "come back and tell me if";
|
||||
mes "you learn anything there.";
|
||||
set aru_monas,13;
|
||||
changequest 17008,17009;
|
||||
//changequest 17008,17009;
|
||||
next;
|
||||
mes "[Niren]";
|
||||
mes "I'll send a message to the";
|
||||
@ -1712,7 +1707,7 @@ ra_temple,165,57,5 script Niren#ss 915,{
|
||||
mes "comes from that place.";
|
||||
delitem 7755,1; //Research_Note
|
||||
set aru_monas,26;
|
||||
completequest 17017;
|
||||
//completequest 17017;
|
||||
getexp (checkre(3))?50000:500000,0;
|
||||
close2;
|
||||
}
|
||||
@ -3213,7 +3208,7 @@ OnTimer53000:
|
||||
que_temsky,99,7,0 warp quetemskyout 1,1,ra_temin,276,231
|
||||
|
||||
// Muff's Loan :: zdan_total_edq
|
||||
//============================================================
|
||||
//============================================================
|
||||
comodo,224,187,3 script Muff 86,{
|
||||
if (checkweight(907,200) == 0) {
|
||||
mes "[Muff]";
|
||||
@ -4658,7 +4653,7 @@ OnTouch:
|
||||
}
|
||||
|
||||
// Broken Diamond
|
||||
//============================================================
|
||||
//============================================================
|
||||
moc_ruins,152,147,5 script Ibrahim 732,3,3,{
|
||||
if (checkweight(907,200) == 0) {
|
||||
mes "[Ibrahim]";
|
||||
@ -6387,7 +6382,7 @@ OnInit:
|
||||
}
|
||||
|
||||
// Z-Gang Quest
|
||||
//============================================================
|
||||
//============================================================
|
||||
prontera,150,326,0 script Wanted Notice#edq 111,{
|
||||
if (zdan_edq == 0) {
|
||||
mes "====National Wanted Notice====";
|
||||
@ -9020,7 +9015,7 @@ OnInit:
|
||||
}
|
||||
|
||||
// Unlucky Emerald
|
||||
//============================================================
|
||||
//============================================================
|
||||
morocc,143,63,3 script Ragged Man#nd 929,{
|
||||
if (treasure_nd == 0) {
|
||||
mes "[Ragged Man]";
|
||||
@ -11410,7 +11405,7 @@ OnTouch:
|
||||
}
|
||||
|
||||
// Rogue Guild Investigation
|
||||
//============================================================
|
||||
//============================================================
|
||||
prontera,163,204,3 script Man from Morocc 99,{
|
||||
if (rumour_nd == 0) {
|
||||
mes "[Morocc Traveler]";
|
||||
|
@ -15,7 +15,7 @@
|
||||
//= Geoborg Family Curse:
|
||||
//= - [Official Conversion]
|
||||
//= - Variable in use: prt_curse (max 61)
|
||||
//===== Changelogs: ==========================================
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 First Version. [kobra_k88] [L0ne_W0lf]
|
||||
//= Fixed flower name Dreamy -> Illusion
|
||||
//= 1.2 Fixed exploit [Lupus]
|
||||
@ -44,6 +44,7 @@
|
||||
//= 2.7 Corrected 'IProntera' typo. (bugreport:4522) [L0ne_W0lf]
|
||||
//= 2.8 Updated RE/Pre-RE EXP. [Euphy]
|
||||
//= 2.9 Updated Nameless Island addition and added questlog support. [Euphy]
|
||||
//= 3.0 Commented custom quest log support for Geoborg Family Curse Quest [Everade]
|
||||
//============================================================
|
||||
|
||||
// Prontera Culvert :: prt_npc
|
||||
@ -560,7 +561,7 @@ S_GetBooks:
|
||||
mes "thanks for doing this for me.";
|
||||
mes "I was really at my wit's end...";
|
||||
set prt_curse,3;
|
||||
setquest 18030;// custom addition to make the script consistent
|
||||
//setquest 18030;// custom addition to make the script consistent
|
||||
getitem 7431,1; //Books
|
||||
close;
|
||||
}
|
||||
@ -860,7 +861,7 @@ yuno,311,195,3 script Historian#prt01 754,{
|
||||
mes "somewhere in that desert town.";
|
||||
set prt_curse,6;
|
||||
getitem 7342,1; //File01
|
||||
changequest 18030,18031;// custom addition to make the script consistent
|
||||
//changequest 18030,18031;// custom addition to make the script consistent
|
||||
close;
|
||||
}
|
||||
else if (prt_curse == 6) {
|
||||
@ -1251,10 +1252,10 @@ morocc_in,45,126,3 script Historian#prt02 702,{
|
||||
mes "back to the priests...)^000000";
|
||||
if (prt_curse == 30) {
|
||||
set prt_curse,31;
|
||||
changequest 18042,18044;
|
||||
//changequest 18042,18044;
|
||||
} else {
|
||||
set prt_curse,60;
|
||||
changequest 18051,18052;
|
||||
//changequest 18051,18052;
|
||||
}
|
||||
close;
|
||||
}
|
||||
@ -1282,10 +1283,10 @@ morocc_in,45,126,3 script Historian#prt02 702,{
|
||||
mes "to return to Father Bamph.^000000";
|
||||
if (prt_curse == 30) {
|
||||
set prt_curse,40;
|
||||
changequest 18042,18045;
|
||||
//changequest 18042,18045;
|
||||
} else {
|
||||
set prt_curse,56;
|
||||
completequest 18051;
|
||||
//completequest 18051;
|
||||
}
|
||||
close;
|
||||
}
|
||||
@ -1361,7 +1362,7 @@ S_GiveName:
|
||||
mes "for the sake of my research...";
|
||||
if (getarg(0) == 1) delitem 7342,1; //File01
|
||||
set prt_curse,8;
|
||||
changequest 18031,18032;
|
||||
//changequest 18031,18032;
|
||||
close;
|
||||
}
|
||||
|
||||
@ -1500,7 +1501,7 @@ mjolnir_01,135,168,3 script Historian#prt03 754,{
|
||||
mes "for. Good luck in your";
|
||||
mes "travels, adventurer.";
|
||||
set prt_curse,11;
|
||||
changequest 18032,18033;
|
||||
//changequest 18032,18033;
|
||||
close;
|
||||
}
|
||||
else {
|
||||
@ -1943,7 +1944,7 @@ mjolnir_01,316,268,3 script Exhausted-Looking Woman 879,{
|
||||
mes "before I talk to Rodafrian.)^000000";
|
||||
getitem 7432,1; //Leather_Pouch
|
||||
set prt_curse,13;
|
||||
changequest 18033,18034;
|
||||
//changequest 18033,18034;
|
||||
close;
|
||||
}
|
||||
else if (prt_curse > 12 && prt_curse < 16) {
|
||||
@ -2042,7 +2043,7 @@ mjolnir_01,316,268,3 script Exhausted-Looking Woman 879,{
|
||||
mes "and let Father Bamph";
|
||||
mes "know about this information.)^000000";
|
||||
set prt_curse,17;
|
||||
changequest 18035,18036;
|
||||
//changequest 18035,18036;
|
||||
close;
|
||||
}
|
||||
else if (prt_curse == 17) {
|
||||
@ -2119,17 +2120,17 @@ mjolnir_01,316,268,3 script Exhausted-Looking Woman 879,{
|
||||
mes "Thank you, kind adventurer~";
|
||||
if (prt_curse == 35) {
|
||||
set prt_curse,36;
|
||||
completequest 18050;
|
||||
//completequest 18050;
|
||||
} else if (prt_curse == 44) {
|
||||
set prt_curse,45;
|
||||
completequest 18049;
|
||||
//completequest 18049;
|
||||
} else {
|
||||
next;
|
||||
mes "^3355FFNow, you can return to";
|
||||
mes "Rodafrian, the historian";
|
||||
mes "stationed in Morocc.^000000";
|
||||
set prt_curse,55;
|
||||
changequest 18049,18051;
|
||||
//changequest 18049,18051;
|
||||
}
|
||||
|
||||
close;
|
||||
@ -2456,7 +2457,7 @@ prt_church,185,106,3 script Father Bamph 60,{
|
||||
mes "remember anything that happened";
|
||||
mes "after the exorcism failed...";
|
||||
set prt_curse,16;
|
||||
changequest 18034,18035;
|
||||
//changequest 18034,18035;
|
||||
close;
|
||||
}
|
||||
else if (prt_curse == 16) {
|
||||
@ -2497,7 +2498,7 @@ prt_church,185,106,3 script Father Bamph 60,{
|
||||
mes "within the bookshelf and";
|
||||
mes "I will meet you there.";
|
||||
set prt_curse,18;
|
||||
changequest 18036,18037;
|
||||
//changequest 18036,18037;
|
||||
close;
|
||||
}
|
||||
else if (prt_curse > 17 && prt_curse < 22) {
|
||||
@ -2534,7 +2535,7 @@ prt_church,185,106,3 script Father Bamph 60,{
|
||||
mes "we can verify whether poison";
|
||||
mes "was used to kill the princes?";
|
||||
set prt_curse,23;
|
||||
changequest 18039,18040;
|
||||
//changequest 18039,18040;
|
||||
close;
|
||||
}
|
||||
else if (prt_curse == 23) {
|
||||
@ -2568,7 +2569,7 @@ prt_church,185,106,3 script Father Bamph 60,{
|
||||
mes "to the secret ceremonial grounds as soon as you can? I will wait";
|
||||
mes "over there for you once again.";
|
||||
set prt_curse,32;
|
||||
changequest 18044,18046;
|
||||
//changequest 18044,18046;
|
||||
close;
|
||||
}
|
||||
else if (prt_curse == 32 || prt_curse == 33 || prt_curse == 41 || prt_curse == 42 || prt_curse == 51 || prt_curse == 52) {
|
||||
@ -2609,7 +2610,7 @@ prt_church,185,106,3 script Father Bamph 60,{
|
||||
mes "you for all of your help. I'm very grateful for what you have done,";
|
||||
mes "adventurer. May safety accompany you on all of your journeys.";
|
||||
set prt_curse,35;
|
||||
changequest 18047,18050;
|
||||
//changequest 18047,18050;
|
||||
close;
|
||||
}
|
||||
else if (prt_curse > 34 && prt_curse < 40 && !aru_monas) {
|
||||
@ -2642,7 +2643,7 @@ prt_church,185,106,3 script Father Bamph 60,{
|
||||
mes "to the secret ceremonial grounds as soon as you can? I will wait";
|
||||
mes "over there for you once again.";
|
||||
set prt_curse,41;
|
||||
changequest 18045,18046;
|
||||
//changequest 18045,18046;
|
||||
close;
|
||||
}
|
||||
else if (prt_curse == 43 || prt_curse == 53) {
|
||||
@ -2684,7 +2685,7 @@ prt_church,185,106,3 script Father Bamph 60,{
|
||||
set prt_curse,44;
|
||||
else
|
||||
set prt_curse,54;
|
||||
changequest 18047,18049;
|
||||
//changequest 18047,18049;
|
||||
getexp (checkre(3))?90000:1600000,0;
|
||||
close;
|
||||
}
|
||||
@ -2720,7 +2721,7 @@ prt_church,185,106,3 script Father Bamph 60,{
|
||||
mes "to the secret ceremonial grounds as soon as you can? I will wait";
|
||||
mes "over there for you once again.";
|
||||
set prt_curse,51;
|
||||
changequest 18043,18046;
|
||||
//changequest 18043,18046;
|
||||
close;
|
||||
}
|
||||
else if (prt_curse == 60) {
|
||||
@ -2775,7 +2776,7 @@ prt_church,185,106,3 script Father Bamph 60,{
|
||||
mes "secret ceremonial grounds";
|
||||
mes "from now on. Thanks again for your help, "+strcharinfo(0)+".";
|
||||
set prt_curse,61;
|
||||
completequest 18052;
|
||||
//completequest 18052;
|
||||
close;
|
||||
}
|
||||
else {
|
||||
@ -2819,7 +2820,7 @@ prt_church,185,106,3 script Father Bamph 60,{
|
||||
mes "and he will assist you in your";
|
||||
mes "search for the lost official.";
|
||||
set aru_monas,2;
|
||||
changequest 17000,17001;
|
||||
//changequest 17000,17001;
|
||||
close;
|
||||
}
|
||||
else if (aru_monas == 2 || aru_monas == 3) {
|
||||
@ -2894,7 +2895,7 @@ prt_church,185,106,3 script Father Bamph 60,{
|
||||
mes "Thank you, and good luck.";
|
||||
set aru_monas,6;
|
||||
set Zeny, Zeny + (checkre(0)?5000:1500);
|
||||
changequest 17002,17003;
|
||||
//changequest 17002,17003;
|
||||
close;
|
||||
}
|
||||
else {
|
||||
@ -3010,8 +3011,7 @@ prt_church,184,110,3 script Father Biscuss 60,{
|
||||
mes "Church, I want to thank";
|
||||
mes "you for all of your help.";
|
||||
set prt_curse,36;
|
||||
// completequest 18048;
|
||||
completequest 18050;
|
||||
//completequest 18050;
|
||||
getexp (checkre(3))?90000:1600000,0;
|
||||
close;
|
||||
}
|
||||
@ -3170,7 +3170,7 @@ prt_church,19,111,5 script #prince1 887,{
|
||||
mes "note that the mark resembles";
|
||||
mes "the scales of a serpent.^000000";
|
||||
set prt_curse,20;
|
||||
changequest 18037,18038;
|
||||
//changequest 18037,18038;
|
||||
close;
|
||||
}
|
||||
else if (prt_curse == 33 || prt_curse > 41 && prt_curse < 51 || prt_curse == 52) {
|
||||
@ -3231,7 +3231,7 @@ prt_church,21,111,5 script #prince2 887,{
|
||||
mes "involved. Let's go check";
|
||||
mes "the body of the third prince.";
|
||||
set prt_curse,21;
|
||||
changequest 18038,18039;
|
||||
//changequest 18038,18039;
|
||||
close;
|
||||
}
|
||||
else if (prt_curse == 33 || prt_curse > 41 && prt_curse < 51 || prt_curse == 52) {
|
||||
@ -3342,7 +3342,7 @@ prt_church,24,111,5 script #prince3 887,{
|
||||
if (prt_curse == 32) set prt_curse,33;
|
||||
else if (prt_curse == 41) set prt_curse,42;
|
||||
else set prt_curse,52;
|
||||
changequest 18046,18047;
|
||||
//changequest 18046,18047;
|
||||
close;
|
||||
}
|
||||
mes "^3355FFYou'll need to have";
|
||||
@ -3402,7 +3402,7 @@ moc_fild16,201,295,5 script Assassin Guildsman#poiso 884,{
|
||||
mes "in Morocc. Go find someone";
|
||||
mes "named ^3131FFMarjana^000000 inside.";
|
||||
set prt_curse,24;
|
||||
changequest 18040,18041;
|
||||
//changequest 18040,18041;
|
||||
close;
|
||||
}
|
||||
mes "[Assassin Guildsman]";
|
||||
@ -3589,7 +3589,7 @@ OnTouch:
|
||||
mes "Father Bamph, so I guess";
|
||||
mes "that I'll go talk to her first.";
|
||||
set prt_curse,30;
|
||||
changequest 18041,18042;
|
||||
//changequest 18041,18042;
|
||||
close;
|
||||
}
|
||||
mes "["+strcharinfo(0)+"]";
|
||||
@ -3599,7 +3599,7 @@ OnTouch:
|
||||
mes "bodies. I better head over";
|
||||
mes "to Prontera right away.";
|
||||
set prt_curse,50;
|
||||
changequest 18041,18043;
|
||||
//changequest 18041,18043;
|
||||
close;
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,6 @@
|
||||
//===== rAthena Script =======================================
|
||||
//===== rAthena Script =======================================
|
||||
//= Veins Quests
|
||||
//===== By: ==================================================
|
||||
//= L0ne_W0lf
|
||||
//===== Current Version: =====================================
|
||||
//= 2.5
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena Project
|
||||
//===== Description: =========================================
|
||||
//===== Description: =========================================
|
||||
//= [Official Conversion]
|
||||
//= Collection of Veins Quests
|
||||
//= Stone Quest:
|
||||
@ -25,7 +19,7 @@
|
||||
//= - Missing addition to High Priest Zhed to start quest.
|
||||
//= - Infiltrate Thor Volcano Base. What is Arunafeltz up to?
|
||||
//= - Variable in use: rachel_camel (max 27)
|
||||
//===== Additional Comments: =================================
|
||||
//===== Changelog: =========================================
|
||||
//= 1.0 First version, Added Veins Stone quest. [L0ne_W0lf]
|
||||
//= 1.1 Added Veins Spy Quest. [L0ne_W0lf]
|
||||
//= 1.2 Added Veins Siblings Quest. [L0ne_W0lf]
|
||||
@ -48,11 +42,12 @@
|
||||
//= 2.2 Moved "Wincing Old Man" to pre-re/re coordinates. [Euphy]
|
||||
//= 2.3 Fixed incorrect use of 'close'. [Joseph]
|
||||
//= 2.4 Updated RE/Pre-RE EXP. [Euphy]
|
||||
//= 2.5 Added GM management NPC. [Euphy]
|
||||
//============================================================
|
||||
//= 2.5 Added GM management NPC and quest log support. [Euphy]
|
||||
//= 2.6 Commented custom quest log support for Nameless Island Access Quest [Everade]
|
||||
//============================================================
|
||||
|
||||
// Stone Quest :: veins_stone
|
||||
//============================================================
|
||||
//============================================================
|
||||
- script ::WincingOldMan_veins -1,{
|
||||
if ((MaxWeight - Weight) < 2000 || checkweight(1201,1) == 0) {
|
||||
mes "- Wait a moment! -";
|
||||
@ -644,7 +639,7 @@ ve_in02,68,39,7 script Factory Worker#ve2 943,{
|
||||
}
|
||||
|
||||
// Spy Quest :: veins_secret
|
||||
//============================================================
|
||||
//============================================================
|
||||
prontera,202,122,0 script Kid#sch 703,{
|
||||
if (que_sch == 0) {
|
||||
mes "[Rooney]";
|
||||
@ -2665,7 +2660,7 @@ sec_in02,10,43,4 script Extra Story Patch 809,{
|
||||
}
|
||||
|
||||
// Siblings Quest :: veins_camel
|
||||
//============================================================
|
||||
//============================================================
|
||||
veins,327,185,3 script Kid#camelcamel 944,{
|
||||
if (MISC_QUEST & 8192) {
|
||||
if (rachel_camel == 0) {
|
||||
@ -3147,7 +3142,7 @@ veins,327,185,3 script Kid#camelcamel 944,{
|
||||
mes "I'm happy that";
|
||||
mes "I can help you too!";
|
||||
set aru_monas,16;
|
||||
changequest 17011,17012;
|
||||
//changequest 17011,17012;
|
||||
close;
|
||||
}
|
||||
else if (aru_monas < 26) {
|
||||
@ -5074,7 +5069,7 @@ veins,221,120,5 script Young Town Native 943,{
|
||||
}
|
||||
|
||||
// Thor Volcano Base Quest :: veins_camp
|
||||
//============================================================
|
||||
//============================================================
|
||||
ra_temin,87,133,1 script Rachel Guard#vol1 934,5,2,{
|
||||
if (aru_vol == 2) {
|
||||
mes "[Guard Karlum]";
|
||||
|
1150
npc/re/instances/CorOperation.txt
Normal file
1150
npc/re/instances/CorOperation.txt
Normal file
File diff suppressed because it is too large
Load Diff
712
npc/re/instances/OsOccupation.txt
Normal file
712
npc/re/instances/OsOccupation.txt
Normal file
@ -0,0 +1,712 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= OS Occupation Operation
|
||||
//===== Description: =========================================
|
||||
//= [Walkthrough Conversion]
|
||||
//= Episode 17.1 - OS Occupation Operation
|
||||
//= 2nd OS Search
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 Initial release [crazyarashi]
|
||||
//= 1.1 Optimizations and cleanup [Everade]
|
||||
//============================================================
|
||||
|
||||
1@os_a,1,1,0 script #os_occupation_control HIDDEN_WARP_NPC,{
|
||||
end;
|
||||
|
||||
OnInstanceInit:
|
||||
'map$ = instance_mapname("1@os_a");
|
||||
for (.@i = 1; .@i < 26; .@i++)
|
||||
disablenpc instance_npcname("#ocp_rebel_" + .@i);
|
||||
hideonnpc instance_npcname("Est#171_ocp_0");
|
||||
disablenpc instance_npcname("#171_ocp_dev_0");
|
||||
disablenpc instance_npcname("#171_ocp_dev_1");
|
||||
disablenpc instance_npcname("#171_ocp_wrp_0");
|
||||
disablenpc instance_npcname("#171_ocp_wrp_1");
|
||||
disablenpc instance_npcname("#171_ocp_wrp_2");
|
||||
disablenpc instance_npcname("#171_ocp_miguel");
|
||||
disablenpc instance_npcname("Est#171_ocp_1");
|
||||
disablenpc instance_npcname("Operation Officer#171_osd");
|
||||
end;
|
||||
|
||||
OnStory01:
|
||||
donpcevent instance_npcname("#171_ocp_mob") + "::OnPoisonStory";
|
||||
for (.@i = 1; .@i < 26; .@i++)
|
||||
enablenpc instance_npcname("#ocp_rebel_" + .@i);
|
||||
enablenpc instance_npcname("#171_ocp_dev_0");
|
||||
sleep2 1000;
|
||||
hideoffnpc instance_npcname("Est#171_ocp_0");
|
||||
doevent instance_npcname("Est#171_ocp_0") + "::OnEvent";
|
||||
end;
|
||||
|
||||
OnStory02:
|
||||
for (.@i = 1; .@i < 26; .@i++)
|
||||
hideonnpc instance_npcname("#ocp_rebel_" + .@i);
|
||||
disablenpc instance_npcname("Est#171_ocp_0");
|
||||
sleep2 3000;
|
||||
donpcevent instance_npcname("#171_ocp_mob") + "::OnSummonStory01";
|
||||
doevent instance_npcname("#171_ocp_dev_0") + "::OnEvent01";
|
||||
end;
|
||||
|
||||
OnStory03:
|
||||
enablenpc instance_npcname("#171_ocp_dev_1");
|
||||
for (.@i = 1; .@i < 26; .@i++)
|
||||
disablenpc instance_npcname("#ocp_rebel_" + .@i);
|
||||
end;
|
||||
|
||||
OnDaily01:
|
||||
'osd = 1;
|
||||
donpcevent instance_npcname("#171_ocp_mob") + "::OnSummon";
|
||||
donpcevent instance_npcname("#171_ocp_mob") + "::OnPoisonDaily";
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_a,30,352,0 script #os_occupation_ev_0 HIDDEN_WARP_NPC,4,4,{
|
||||
end;
|
||||
|
||||
OnTouch:
|
||||
if (!is_party_leader())
|
||||
end;
|
||||
disablenpc();
|
||||
disablenpc instance_npcname("#os_occupation_ev_1");
|
||||
doevent instance_npcname("#os_occupation_control") + "::OnStory01";
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_a,335,34,0 script #os_occupation_ev_1 HIDDEN_WARP_NPC,4,4,{
|
||||
end;
|
||||
|
||||
OnTouch:
|
||||
if (!is_party_leader())
|
||||
end;
|
||||
disablenpc();
|
||||
disablenpc instance_npcname("#os_occupation_ev_0");
|
||||
doevent instance_npcname("#os_occupation_control") + "::OnDaily01";
|
||||
disablenpc instance_npcname("Est#171_ocp_0");
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_a,30,360,3 script Est#171_ocp_0 4_F_ESTLOVELOY,{
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "Focus on the briefing.";
|
||||
close3;
|
||||
|
||||
OnEvent:
|
||||
sleep2 3000;
|
||||
npctalk "Est : I have confirmed that there's biogas spreading at the front and it's currently under treatment.";
|
||||
sleep2 5000;
|
||||
npctalk "Est : If you get too close, you'll die immediately, so don't move until the treatment is finished...";
|
||||
sleep2 5000;
|
||||
npctalk "Est : First, we need to establish bases here. We don't know how many individuals are lurking around.";
|
||||
sleep2 5000;
|
||||
npctalk "Est : There isn't much information, so it's our duty to create those information. From now on, we'll split into 3 groups and subdue this place.";
|
||||
sleep2 5000;
|
||||
npctalk "Est : Alpha Team, start searching around the southern waterway.";
|
||||
sleep2 5000;
|
||||
npctalk "Est : Bravo Team, you will be sweeping with me before the eastern boundary.";
|
||||
sleep2 5000;
|
||||
npctalk "Est : The Echo team is in charge of backups under the command of " + strcharinfo(0) + ". You will block this place and prevent individuals from going outside.";
|
||||
sleep2 5000;
|
||||
npctalk "Est : We shouldn't have situations where we'll ask for support, but if such situation occurs, the Echo team will be called.";
|
||||
sleep2 5000;
|
||||
mapannounce 'map$,"Chemical Treatment Unit : The biogas facilities locked has been completed. The residual gas will continue for the next few minutes.",bc_map,0xFFCC00;
|
||||
sleep2 5000;
|
||||
npctalk "Est : It's time. We're moving. " + strcharinfo(0) + "'s unit is a support team, wait here and respond to communications.";
|
||||
sleep2 5000;
|
||||
doevent instance_npcname("#os_occupation_control") + "::OnStory02";
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_a,29,360,3 script #171_ocp_dev_0 4_SCR_MT_ROBOTS,{
|
||||
if ('ocp >= 5) {
|
||||
mes "## Received Message ##";
|
||||
mes "## Team Alpha's last communication was at Oscar Sierra 52 177 ##";
|
||||
navigateto("1@os_a",52,177);
|
||||
close;
|
||||
}
|
||||
switch ('ocp) {
|
||||
case 1:
|
||||
mes "## Enter Message Input ##";
|
||||
next;
|
||||
setarray .@input$,
|
||||
"Engaging with mutants on north.","Engaging with small mutants.","Ah~! I want to go home!";
|
||||
.@menu$ = implode(.@input$,":");
|
||||
.@s = select(.@menu$) - 1;
|
||||
'ocp = 2;
|
||||
mapannounce 'map$,strcharinfo(0) + " : " + .@input$[.@s],bc_map,0xEE66EE;
|
||||
doevent instance_npcname(strnpcinfo(0)) + "::OnEvent02";
|
||||
close;
|
||||
case 3:
|
||||
mes "## Enter Message Input ##";
|
||||
next;
|
||||
setarray .@input$,
|
||||
"Echo is fighting too. Requesting for support.","There was an engagement, but it's over.","Save me!";
|
||||
.@menu$ = implode(.@input$,":");
|
||||
.@s = select(.@menu$) - 1;
|
||||
'ocp = 4;
|
||||
mapannounce 'map$,strcharinfo(0) + " : " + .@input$[.@s],bc_map,0xEE66EE;
|
||||
doevent instance_npcname(strnpcinfo(0)) + "::OnEvent03";
|
||||
close;
|
||||
default:
|
||||
mes "## No Communication Status ##";
|
||||
close;
|
||||
}
|
||||
end;
|
||||
|
||||
OnEvent01:
|
||||
mapannounce 'map$,"Alpha : Alpha is approaching south. We found a number of mutants heading north towards Echo.",bc_map,0xCCCC00;
|
||||
sleep2 6000;
|
||||
mapannounce 'map$,"Est : Reception sensitivity is good, Echo prepare for response, and report when anything occurs.",bc_map,0x00EEEE;
|
||||
sleep2 6000;
|
||||
mapannounce 'map$,"Alpha : Alpha found a number of mutants on southern drainage. We're going to engage in battle.",bc_map,0xCCCC00;
|
||||
sleep2 9000;
|
||||
mapannounce 'map$,"Est : ---Roger.",bc_map,0x00EEEE;
|
||||
sleep2 3000;
|
||||
mapannounce 'map$,"Est : Alpha, send a transmission after you're done with the engagement.",bc_map,0x00EEEE;
|
||||
sleep2 6000;
|
||||
mapannounce 'map$,"Alpha : The drainage channel is now clear of mutants. Residual biological experiments were confirmed. We are preparing for the second engagement.",bc_map,0xCCCC00;
|
||||
sleep2 6000;
|
||||
mapannounce 'map$,"Est : Alpha, roger. Echo, status report.",bc_map,0x00EEEE;
|
||||
sleep2 3000;
|
||||
mapannounce 'map$,"Est : " + strcharinfo(0) + "!! Response your current situation!!",bc_map,0x00EEEE;
|
||||
'ocp = 1;
|
||||
specialeffect EF_BIG_PORTAL;
|
||||
end;
|
||||
|
||||
OnEvent02:
|
||||
sleep2 3000;
|
||||
mapannounce 'map$,"Est : Echo's reception is not smooth. Re-transmit the message.",bc_map,0x00EEEE;
|
||||
sleep2 10000;
|
||||
mapannounce 'map$,"Alpha : It's an ambush! Current coordinates are are Oscar Sierra 9...@$%**!",bc_map,0xCCCC00;
|
||||
sleep2 6000;
|
||||
mapannounce 'map$,"Est : Alpha retransmit your coordinates. Alpha!!! Please respond!!.",bc_map,0x00EEEE;
|
||||
sleep2 6000;
|
||||
mapannounce 'map$,"Alpha : ---- Tchhhhhhh ----",bc_map,0xCCCC00;
|
||||
sleep2 6000;
|
||||
mapannounce 'map$,"Est : Damn!... Echo, check if you can get support to Alpha's coordinates.",bc_map,0xCCCC00;
|
||||
sleep2 3000;
|
||||
mapannounce 'map$,"Est : " + strcharinfo(0) + "! Check Alpha's coordinates if it's available!",bc_map,0x00EEEE;
|
||||
'ocp = 3;
|
||||
specialeffect EF_BIG_PORTAL;
|
||||
end;
|
||||
|
||||
OnEvent03:
|
||||
sleep2 6000;
|
||||
mapannounce 'map$,"?????? : This is Foxtrot. Ground artillery support has been prepared. Please send the coordinates that needs support.",bc_map,0x00FF44;
|
||||
sleep2 6000;
|
||||
mapannounce 'map$,"Est : Alpha is unresponsive. " + strcharinfo(0) + " please support them. The coordinates are Oscar Sierra 32 356",bc_map,0x00EEEE;
|
||||
sleep2 6000;
|
||||
specialeffect EF_CLOUD4,AREA,instance_npcname("#ocp_rebel_5");
|
||||
mapannounce 'map$,"?????? : Foxtrot reporting, coordinates received. Please be careful to hit only the mutants.",bc_map,0x00FF44;
|
||||
sleep2 6000;
|
||||
mapannounce 'map$,"?????? : In 3 seconds, the mutant only ground artillery will be sent on the side of Echo.",bc_map,0x00FF44;
|
||||
sleep2 3000;
|
||||
for (.@i = 1; .@i < 26; .@i++) {
|
||||
specialeffect EF_METEORSTORM,AREA,instance_npcname("#ocp_rebel_" + .@i);
|
||||
killmonster 'map$,instance_npcname("#171_ocp_mob")+"::OnStoryKill";
|
||||
sleep2 300;
|
||||
}
|
||||
killmonster 'map$,instance_npcname("#171_ocp_mob")+"::OnPoisonKill";
|
||||
sleep2 1000;
|
||||
mapannounce 'map$,"?????? : Echo-coordinates mutant artillery support is complete.",bc_map,0x00FF44;
|
||||
sleep2 6000;
|
||||
mapannounce 'map$,"Est : Engagement on our side has ended.",bc_map,0x00EEEE;
|
||||
sleep2 6000;
|
||||
mapannounce 'map$,"Est : I will send the estimated coordinates of their last contact point using the radio. Please send support after getting the information on the radio.",bc_map,0x00EEEE;
|
||||
sleep2 3000;
|
||||
'ocp = 5;
|
||||
specialeffect EF_BIG_PORTAL;
|
||||
donpcevent instance_npcname("#os_occupation_control") + "::OnStory03";
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_a,52,177,3 script #171_ocp_dev_1 4_SCR_MT_ROBOTS,3,3,{
|
||||
if ('ocp == 5) {
|
||||
mes "## Send Message Input ##";
|
||||
next;
|
||||
select("There is no trace of alpha. Only the radio.");
|
||||
'ocp = 6;
|
||||
mapannounce 'map$,strcharinfo(0) + " : There is no trace of alpha. Only the radio is here.",bc_map,0xEE66EE;
|
||||
sleep2 4000;
|
||||
mapannounce 'map$,"Est : " + strcharinfo(0) + ". Please look around if there are any traces left.",bc_map,0x00EEEE;
|
||||
sleep2 3000;
|
||||
select("Nothing in particular.");
|
||||
mapannounce 'map$,strcharinfo(0) + " : Nothing in particular.",bc_map,0xEE66EE;
|
||||
sleep2 3000;
|
||||
mapannounce 'map$,"Est : Bravo has completed the search on the east side.",bc_map,0x00EEEE;
|
||||
sleep2 4000;
|
||||
mapannounce 'map$,"Est : We are going to move south. I'll transmit the new coordinates. Please prepare yourselves for an engagement.",bc_map,0x00EEEE;
|
||||
mes "## Coordinates Received ##";
|
||||
enablenpc instance_npcname("#171_ocp_wrp_0");
|
||||
hideonnpc instance_npcname("#171_ocp_wrp_0");
|
||||
donpcevent instance_npcname("#171_ocp_wrp_0") + "::OnMobSpawn";
|
||||
initnpctimer instance_npcname("#171_ocp_wrp_0");
|
||||
}
|
||||
navigateto("1@os_a",84,256);
|
||||
end;
|
||||
|
||||
OnTouch:
|
||||
if ('ocp == 5)
|
||||
npctalk "Est : " + strcharinfo(0) + " can you hear me? If you can, please respond.";
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_a,84,256,5 script #171_ocp_wrp_0 4_ENERGY_BLUE,4,4,{
|
||||
end;
|
||||
|
||||
OnTouch:
|
||||
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnMobKill";
|
||||
if (getd("'" + strnpcinfo(2)) && !mobcount('map$,.@event$)) {
|
||||
disablenpc();
|
||||
.@id = atoi(replacestr(strnpcinfo(2),"171_ocp_wrp_",""));
|
||||
if (.@id < 2) {
|
||||
enablenpc instance_npcname("#171_ocp_wrp_" + (.@id + 1));
|
||||
hideonnpc instance_npcname("#171_ocp_wrp_" + (.@id + 1));
|
||||
donpcevent instance_npcname("#171_ocp_wrp_" + (.@id + 1)) + "::OnSummon";
|
||||
}else
|
||||
donpcevent instance_npcname("#171_ocp_wrp_2") + "::OnBossSummon";
|
||||
switch (.@id) {
|
||||
case 0:
|
||||
monster 'map$,144,275,"",2536,1,instance_npcname("#171_ocp_mob") + "::OnPoisonKill";
|
||||
navigateto("1@os_a",163,266);
|
||||
mapannounce 'map$,"Est : " + strcharinfo(0) + ", can you hear me?",bc_map,0x00EEEE;
|
||||
sleep2 3000;
|
||||
mapannounce 'map$,"Est : I transmitted the second search coordinates. Be careful not to lose your records.",bc_map,0x00EEEE;
|
||||
sleep2 6000;
|
||||
mapannounce 'map$,"Est : " + strcharinfo(0) + ", check if there are any traces around there.",bc_map,0x00EEEE;
|
||||
initnpctimer instance_npcname("#171_ocp_wrp_1");
|
||||
sleep2 3000;
|
||||
mapannounce 'map$,strcharinfo(0) + " : I have found a troop of mutants along the route.",bc_map,0xEE66EE;
|
||||
sleep2 3000;
|
||||
mapannounce 'map$,"Est : If you see a mutant who can communicate, immediately capture it. Other than that... You can subdue them all.",bc_map,0x00EEEE;
|
||||
break;
|
||||
case 1:
|
||||
navigateto("1@os_a",138,174);
|
||||
initnpctimer instance_npcname("#171_ocp_wrp_2");
|
||||
mapannounce 'map$,"Est : " + strcharinfo(0) + ", are you still alive?",bc_map,0x00EEEE;
|
||||
sleep2 3000;
|
||||
mapannounce 'map$,strcharinfo(0) + " : Team Echo is still alive. We are moving towards the southern point.",bc_map,0xEE66EE;
|
||||
sleep2 3000;
|
||||
mapannounce 'map$,"Est : Bravo is also moving towards there, we're skipping the eastern point.",bc_map,0x00EEEE;
|
||||
sleep2 3000;
|
||||
mapannounce 'map$,strcharinfo(0) + " : I hope that Bravo arrive safely.",bc_map,0xEE66EE;
|
||||
sleep2 3000;
|
||||
mapannounce 'map$,"Est : I wish the same for Team Echo.",bc_map,0x00EEEE;
|
||||
break;
|
||||
case 2:
|
||||
navigateto("1@os_a",161,178);
|
||||
mapannounce 'map$,"???? : Grrr...",bc_map,0xFF9999;
|
||||
}
|
||||
}
|
||||
end;
|
||||
|
||||
OnMobSpawn:
|
||||
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnMobKill";
|
||||
setarray .@xy,63,214,20349,63,230,20349,63,218,20350,63,222,20350,63,226,20350,63,234,20350,63,238,20350,63,242,20350;
|
||||
for (.@i = 0; .@i < getarraysize(.@xy); .@i += 3)
|
||||
monster 'map$,.@xy[.@i],.@xy[.@i+1],"Incomplete " + getmonsterinfo(.@xy[.@i+2],MOB_NAME),.@xy[.@i+2],1,.@event$;
|
||||
end;
|
||||
|
||||
OnSummon:
|
||||
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnMobKill";
|
||||
.@id = atoi(replacestr(strnpcinfo(2),"171_ocp_wrp_",""));
|
||||
switch (.@id) {
|
||||
case 1: setarray .@xy,146,266,20349,166,266,20349,170,266,20349,154,266,20349,126,266,20350,130,266,20350,134,266,20350,138,266,20350,142,266,20350,150,266,20350,158,266,20350,162,266,20350,174,266,20350; break;
|
||||
case 2: setarray .@xy,151,243,20348,144,216,20349,141,213,20349,137,210,20349,132,207,20349,139,200,20349,146,199,20349,139,196,20349,146,216,20350,141,213,20350,135,213,20350,137,212,20350,143,203,20350,139,209,20350,134,199,20350;
|
||||
}
|
||||
for (.@i = 0; .@i < getarraysize(.@xy); .@i += 3)
|
||||
monster 'map$,.@xy[.@i],.@xy[.@i+1],"Incomplete " + getmonsterinfo(.@xy[.@i+2],MOB_NAME),.@xy[.@i+2],1,.@event$;
|
||||
end;
|
||||
|
||||
OnMobKill:
|
||||
end;
|
||||
|
||||
OnBossSummon:
|
||||
setarray .@xy,161,178,20347;
|
||||
.@event$ = instance_npcname("#171_ocp_mob") + "::OnBossKillStory";
|
||||
monster 'map$,.@xy[.@i],.@xy[.@i+1],"????",.@xy[.@i+2],1,.@event$;
|
||||
getunitdata $@mobid[0],.@boss_data;
|
||||
.@DAMAGE = (.@boss_data[UMOB_MAXHP]/10) * 9;
|
||||
.@HP = (.@boss_data[UMOB_MAXHP] - .@DAMAGE)/2;
|
||||
setunitdata $@mobid[0],UMOB_HP,.@HP;
|
||||
end;
|
||||
|
||||
OnTimer10000:
|
||||
stopnpctimer;
|
||||
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnMobKill";
|
||||
.@id = atoi(replacestr(strnpcinfo(2),"171_ocp_wrp_",""));
|
||||
.@count = mobcount('map$,.@event$);
|
||||
if (.@count) {
|
||||
mapannounce 'map$,"Remaining Mutant Survivor - " + .@count,bc_map,0xFFFF00;
|
||||
initnpctimer;
|
||||
} else {
|
||||
mapannounce 'map$,"Intermediate point secured.",bc_map,0xFFFF00;
|
||||
setd("'" + strnpcinfo(2),1);
|
||||
hideoffnpc();
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_a,163,266,5 duplicate(#171_ocp_wrp_0) #171_ocp_wrp_1 4_ENERGY_BLUE,4,4
|
||||
1@os_a,138,174,5 duplicate(#171_ocp_wrp_0) #171_ocp_wrp_2 4_ENERGY_BLUE,4,4
|
||||
|
||||
1@os_a,162,176,5 script #171_ocp_miguel 4_EP17_MIGUEL_D,{
|
||||
if (isbegin_quest(12452) == 1) {
|
||||
mes "^0000FFI think he stopped breathing.^000000";
|
||||
close;
|
||||
}
|
||||
cutin "ep171_miguel01",0;
|
||||
mes "[???]";
|
||||
mes "Krrr. I guess you're not someone of Regenschirm. Can you move aside, I have something to say to that person.";
|
||||
next;
|
||||
cutin "",255;
|
||||
mes "^0000FFThe mutant who's life is running out is trying to say something.^000000";
|
||||
close;
|
||||
}
|
||||
|
||||
1@os_a,165,176,3 script Est#171_ocp_1 4_F_ESTLOVELOY,{
|
||||
if (isbegin_quest(12452) == 1) {
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes strcharinfo(0) + ", I didn't think I'd survive and see you again. You're pretty good.";
|
||||
next;
|
||||
select("Ask about the fallen mutant.");
|
||||
mes "[Est]";
|
||||
mes "Well, even if you ask me... it's the first time that I'll talk to a mutant.";
|
||||
emotion ET_SCRATCH;
|
||||
next;
|
||||
cutin "ep171_miguel03",0;
|
||||
mes "[???]";
|
||||
mes "... Est?";
|
||||
next;
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "How do you know my name? Who are you! I'll finish you painlessly, so be honest.";
|
||||
emotion ET_SURPRISE;
|
||||
next;
|
||||
cutin "ep171_miguel03",0;
|
||||
mes "[???]";
|
||||
mes "Est... Rebellion Ghost Squad... Do you remember uncle Miguel?";
|
||||
next;
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "How do you know that name...";
|
||||
next;
|
||||
cutin "ep171_miguel03",0;
|
||||
mes "[???]";
|
||||
mes "Ha... haha... you still remember.";
|
||||
next;
|
||||
mes "^0000FFThe identification tag on the mutant's neck stands out.^000000";
|
||||
next;
|
||||
select("Get the identification tag and hand it to Est.");
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "Mi... guel...?";
|
||||
next;
|
||||
cutin "ep171_miguel03",0;
|
||||
mes "[Miguel]";
|
||||
mes "... Est, the last thing I'll see... is your face... That's a relief.";
|
||||
next;
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "Uncle Miguel!? How did this happen!";
|
||||
next;
|
||||
cutin "ep171_miguel03",0;
|
||||
mes "[Miguel]";
|
||||
mes "Before I die... I always wanted to see my old colleagues... You fulfilled my wish.";
|
||||
next;
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "Uncle! What is this! What happened to you?";
|
||||
next;
|
||||
cutin "ep171_miguel01",0;
|
||||
mes "[Miguel]";
|
||||
mes "Ugh... I don't have much time left... Listen carefully, Est.";
|
||||
next;
|
||||
mes "[Miguel]";
|
||||
mes "Somewhere in here... the mad research results of Regenschirm... can be found somewhere in here.";
|
||||
next;
|
||||
mes "[Miguel]";
|
||||
mes "Find everything... and you'll know what happened to me... you'll see things that can't be explained here.";
|
||||
next;
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "Uncle! Wake up!! Let's go out. If we go out, we can save you!";
|
||||
next;
|
||||
cutin "ep171_miguel02",0;
|
||||
mes "[Miguel]";
|
||||
mes "Est... you still have a big heart... that kind of feeling... on the battlefield... I taught you...";
|
||||
next;
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "Uncle! Uncle!!";
|
||||
next;
|
||||
cutin "",255;
|
||||
mes "[Miguel]";
|
||||
mes "...";
|
||||
if (isbegin_quest(12452) == 1)
|
||||
completequest 12452;
|
||||
getitem 25668,1;
|
||||
getitem 25723,5;
|
||||
getexp 300000,300000;
|
||||
close;
|
||||
}
|
||||
select("Ask about Miguel");
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes strcharinfo(0) +", I'm sorry but I don't feel like talking about him right now.";
|
||||
next;
|
||||
select("Ask about the records.");
|
||||
mes "[Est]";
|
||||
mes "I checked the northeast section and saw a place over the railway that seemed to be a research facility.";
|
||||
next;
|
||||
mes "[Est]";
|
||||
mes "Maybe the research Miguel was talking about... is somewhere in there. I'm going to have to start another operation right away.";
|
||||
next;
|
||||
mes "[Est]";
|
||||
mes "I don't think there will be anything else to do here.";
|
||||
next;
|
||||
select("I want to go back.");
|
||||
warp "sp_cor",162,63;
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_a,187,195,5 script Operation Officer#171_osd 4_M_ILYA,{
|
||||
if (isbegin_quest(12454) == 1) {
|
||||
mes "[Operation Officer]";
|
||||
mes "You've dealt with a CP7 Mutant by yourself... did the battle went well?";
|
||||
next;
|
||||
mes "[Operation Officer]";
|
||||
mes "Here are the supplies and experience given to the troops that joined the operation. Take it.";
|
||||
erasequest 12454;
|
||||
getexp 150000,150000;
|
||||
getitem 25669,5;
|
||||
getitem 25723,1;
|
||||
next;
|
||||
mes "[Operation Officer]";
|
||||
mes "Even though it's a CP7 Rated, sorry I couldn't give you more experience.";
|
||||
close;
|
||||
}
|
||||
mes "[Operation Officer]";
|
||||
mes "Let's go out now. We need to prepare for repairs quickly.";
|
||||
next;
|
||||
if (select("Look around more.:Go Out") == 1) {
|
||||
mes "[Operation Officer]";
|
||||
mes "Is that so? Don't delay it for too long.";
|
||||
close;
|
||||
}
|
||||
warp "sp_cor",162,63;
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_a,1,1,0 script #171_ocp_mob HIDDEN_WARP_NPC,{
|
||||
end;
|
||||
|
||||
OnSummonStory01:
|
||||
setarray .@mob,20348,20349,20350;
|
||||
for (.@i = 0; .@i < 12; .@i++) { //Summons max 12 mobs randomly
|
||||
.@id = .@mob[rand(3)];
|
||||
areamonster 'map$,26,349,37,357,"Incomplete " + getmonsterinfo(.@id,MOB_NAME),.@id,1,instance_npcname(strnpcinfo(0))+"::OnStoryKill";
|
||||
sleep 10000;
|
||||
}
|
||||
end;
|
||||
|
||||
OnStoryKill:
|
||||
end;
|
||||
|
||||
OnSummon:
|
||||
.@id = 'osd;
|
||||
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnMobKill";
|
||||
switch (.@id) {
|
||||
case 1: setarray .@xy,334,66,20348,291,95,20348,287,97,20348,280,95,20348,272,91,20348,265,89,20349,265,93,20349,263,95,20349,267,92,20350; break;
|
||||
case 2: setarray .@xy,252,82,20348,257,72,20348,260,70,20348,254,64,20348,263,83,20350,254,70,20350,259,66,20350; break;
|
||||
case 3: setarray .@xy,205,90,20348,201,90,20348,208,79,20348,204,71,20348,203,81,20348,200,81,20348,211,80,20349,202,75,20349,210,88,20349,207,93,20349,200,77,20349,206,79,20349,207,78,20350,208,83,20350; break;
|
||||
case 4: setarray .@xy,209,118,20348,208,129,20348,214,136,20348,222,131,20348,215,134,20348,204,137,20348,205,127,20349,222,127,20349,225,136,20349,221,132,20349,206,132,20349,217,132,20349,208,135,20350,216,129,20350,210,136,20350; break;
|
||||
case 5: setarray .@xy,257,153,20348,263,156,20348,261,158,20348,256,161,20348,252,161,20348,246,156,20349,240,156,20349,248,157,20349,256,158,20349,243,156,20350,249,156,20350,237,153,20350,252,161,20350,253,161,20350; break;
|
||||
case 6: setarray .@xy,200,190,20348,213,189,20348,227,190,20348,206,191,20348,201,189,20348,198,183,20348,200,170,20348,197,187,20349,200,191,20349,215,190,20349,207,190,20349,209,183,20349,218,184,20349,212,184,20349,229,185,20349,219,184,20350,199,183,20350,207,184,20350,206,182,20350,226,188,20350,203,187,20350,197,183,20350; break;
|
||||
case 7: donpcevent instance_npcname(strnpcinfo(0)) + "::OnSummonBoss"; end;
|
||||
}
|
||||
if (.@id == 1) {
|
||||
'osd = 2;
|
||||
donpcevent instance_npcname(strnpcinfo(0)) + "::OnSummon";
|
||||
}
|
||||
if (.@id != 2)
|
||||
donpcevent instance_npcname(strnpcinfo(0)) + "::OnEvent0" + .@id;
|
||||
for (.@i = 0; .@i < getarraysize(.@xy); .@i += 3)
|
||||
monster 'map$,.@xy[.@i],.@xy[.@i+1],"CP" + .@id + " " + getmonsterinfo(.@xy[.@i+2],MOB_NAME),.@xy[.@i+2],1,.@event$;
|
||||
end;
|
||||
|
||||
OnMobKill:
|
||||
end;
|
||||
|
||||
OnTimer10000:
|
||||
stopnpctimer;
|
||||
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnMobKill";
|
||||
.@count = mobcount('map$,.@event$);
|
||||
if (.@count) {
|
||||
mapannounce 'map$,"Remaining Mutant Survivor - " + .@count,bc_map,0xFFFF00;
|
||||
initnpctimer;
|
||||
} else {
|
||||
mapannounce 'map$,"Sector " + ('osd - 1) + " secured.",bc_map,0x00FF00;
|
||||
.@id = 'osd + 1;
|
||||
'osd = .@id;
|
||||
if (.@id == 5)
|
||||
killmonster 'map$,instance_npcname(strnpcinfo(0)) + "::OnPoisonKill";
|
||||
donpcevent instance_npcname(strnpcinfo(0)) + "::OnSummon";
|
||||
}
|
||||
end;
|
||||
|
||||
OnEvent01:
|
||||
mapannounce 'map$,"Operation Officer : The Alpha team should be prepare to fight the moment you felt a Mutant's reaction near you.",bc_map,0x00EEEE;
|
||||
sleep 6000;
|
||||
mapannounce 'map$,"Operation Officer : There are no civilian in the main search area, so you can safely subdue any moving creatures.",bc_map,0x00EEEE;
|
||||
sleep 6000;
|
||||
mapannounce 'map$,"Operation Officer : Charlie, and Delta Team, if there is an engagement situation, immediately go into battle without reporting.",bc_map,0x00EEEE;
|
||||
initnpctimer;
|
||||
end;
|
||||
|
||||
OnEvent03:
|
||||
mapannounce 'map$,"Operation Officer : We received a precaution within this area.",bc_map,0x00EEEE;
|
||||
sleep 6000;
|
||||
mapannounce 'map$,"Operation Officer : A mutant labeled with A013 is a independent mutant unrelated to its base.",bc_map,0x00EEEE;
|
||||
sleep 6000;
|
||||
mapannounce 'map$,"Operation Officer : It is said that it's combat ability is stronger than of ordinary mutants, avoid combat unless you are willing to fight.",bc_map,0x00EEEE;
|
||||
initnpctimer;
|
||||
end;
|
||||
|
||||
OnEvent04:
|
||||
mapannounce 'map$,"Operation Officer : Be careful when dealing with CP4 or higher grade mutants.",bc_map,0x00EEEE;
|
||||
sleep 6000;
|
||||
mapannounce 'map$,"Operation Officer : They are the same type as CP1, but their destructive power increases with their grade. Be careful not to be surrounded.",bc_map,0x00EEEE;
|
||||
initnpctimer;
|
||||
end;
|
||||
|
||||
OnEvent05:
|
||||
mapannounce 'map$,"Operation Officer : Sector 4 is said to be a confidential documents storage room.",bc_map,0x00EEEE;
|
||||
sleep 6000;
|
||||
mapannounce 'map$,"Operation Officer : The advanced team already searched the area, but there was nothing special, so focus on the battle and be careful to not get surrounded.",bc_map,0x00EEEE;
|
||||
initnpctimer;
|
||||
end;
|
||||
|
||||
OnEvent06:
|
||||
mapannounce 'map$,"Operation Officer : Bravo Team. Is engaged with CP6 Mutants. Their offense is very powerful.",bc_map,0x00EEEE;
|
||||
sleep 6000;
|
||||
mapannounce 'map$,"Operation Officer : Alpha, Charlie, Delta team should also be careful. Don't get surrounded by CP6 Grade mutants!",bc_map,0x00EEEE;
|
||||
initnpctimer;
|
||||
end;
|
||||
|
||||
OnSummonBoss:
|
||||
sleep 3000;
|
||||
mapannounce 'map$,"Operation Officer : To all team. If you find an S-Class mutant, please engage in the battle immediately.",bc_map,0x00EEEE;
|
||||
sleep 3000;
|
||||
mapannounce 'map$,"???? : Grrr...",bc_map,0xFF9999;
|
||||
sleep 3000;
|
||||
mapannounce 'map$,"Operation Officer : Be careful, it's difficult to deal with mutants with high CP grade!",bc_map,0x00EEEE;
|
||||
monster 'map$,205,188,"CP7 Miguel",20346,1,instance_npcname(strnpcinfo(0)) + "::OnBossKill";
|
||||
'boss_gid = $@mobid[0];
|
||||
donpcevent instance_npcname(strnpcinfo(0)) + "::OnBossSkill";
|
||||
end;
|
||||
|
||||
OnBossKillStory:
|
||||
enablenpc instance_npcname("#171_ocp_miguel");
|
||||
enablenpc instance_npcname("Est#171_ocp_1");
|
||||
end;
|
||||
|
||||
OnBossKill:
|
||||
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnSummonKill";
|
||||
killmonster 'map$,.@event$;
|
||||
mapannounce 'map$,"Operation Officer : Guess I'm a little late!",bc_map,0x00EEEE;
|
||||
enablenpc instance_npcname("Operation Officer#171_osd");
|
||||
end;
|
||||
|
||||
OnBossSkill:
|
||||
.@gid = 'boss_gid;
|
||||
freeloop(true);
|
||||
while(unitexists(.@gid)) {
|
||||
if (unitexists(.@gid)) {
|
||||
getunitdata .@gid,.@data;
|
||||
if (.@data[UMOB_HP] <= ((.@data[UMOB_MAXHP]/10) * 7)) {
|
||||
donpcevent instance_npcname(strnpcinfo(0)) + "::OnSummonSkill";
|
||||
break;
|
||||
}
|
||||
}
|
||||
sleep 100;
|
||||
}
|
||||
freeloop(false);
|
||||
end;
|
||||
|
||||
OnSummonSkill:
|
||||
.@gid = 'boss_gid;
|
||||
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnSummonKill";
|
||||
freeloop(true);
|
||||
while(unitexists(.@gid)) {
|
||||
sleep 100;
|
||||
if(!unitexists(.@gid))
|
||||
end;
|
||||
getunitdata .@gid,.@data;
|
||||
if (.@data[UMOB_HP] <= ((.@data[UMOB_MAXHP]/10) * 3) && 'skill == 0)
|
||||
'skill = 1;
|
||||
if (.@data[UMOB_X] == 'gid_x && .@data[UMOB_Y] == 'gid_y)
|
||||
continue;
|
||||
killmonster 'map$,.@event$;
|
||||
if (unitexists(.@gid)) {
|
||||
'gid_x = .@data[UMOB_X];
|
||||
'gid_y = .@data[UMOB_Y];
|
||||
monster 'map$,.@data[UMOB_X] - 7,.@data[UMOB_Y],"",20351,1,.@event$;
|
||||
monster 'map$,.@data[UMOB_X] + 7,.@data[UMOB_Y],"",20351,1,.@event$;
|
||||
monster 'map$,.@data[UMOB_X],.@data[UMOB_Y] - 7,"",20351,1,.@event$;
|
||||
monster 'map$,.@data[UMOB_X],.@data[UMOB_Y] + 7,"",20351,1,.@event$;
|
||||
if ('skill) {
|
||||
monster 'map$,.@data[UMOB_X] - 5,.@data[UMOB_Y] + 5,"",20351,1,.@event$;
|
||||
monster 'map$,.@data[UMOB_X] + 5,.@data[UMOB_Y] + 5,"",20351,1,.@event$;
|
||||
monster 'map$,.@data[UMOB_X] - 5,.@data[UMOB_Y] - 5,"",20351,1,.@event$;
|
||||
monster 'map$,.@data[UMOB_X] + 5,.@data[UMOB_Y] - 5,"",20351,1,.@event$;
|
||||
}
|
||||
} else
|
||||
break;
|
||||
}
|
||||
freeloop(false);
|
||||
end;
|
||||
|
||||
OnSummonKill:
|
||||
end;
|
||||
|
||||
OnPoisonStory:
|
||||
monster 'map$,44,340,"",2536,1,instance_npcname(strnpcinfo(0)) + "::OnPoisonKill";
|
||||
monster 'map$,44,344,"",2536,1,instance_npcname(strnpcinfo(0)) + "::OnPoisonKill";
|
||||
monster 'map$,43,360,"",2536,1,instance_npcname(strnpcinfo(0)) + "::OnPoisonKill";
|
||||
end;
|
||||
|
||||
OnPoisonDaily:
|
||||
monster 'map$,252,107,"",2536,1,instance_npcname(strnpcinfo(0)) + "::OnPoisonKill";
|
||||
monster 'map$,255,107,"",2536,1,instance_npcname(strnpcinfo(0)) + "::OnPoisonKill";
|
||||
end;
|
||||
|
||||
OnPoisonKill:
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_a,26,345,7 duplicate(dummy_npc) #ocp_rebel_1 4_M_GUNSLINGER3
|
||||
1@os_a,38,357,1 duplicate(dummy_npc) #ocp_rebel_2 4_F_GUNSLINGER3
|
||||
1@os_a,29,348,7 duplicate(dummy_npc) #ocp_rebel_3 4_M_REBELLION2
|
||||
1@os_a,29,351,7 duplicate(dummy_npc) #ocp_rebel_4 4_M_REBELLION2
|
||||
1@os_a,32,351,7 duplicate(dummy_npc) #ocp_rebel_5 4_M_REBELLION3
|
||||
1@os_a,29,345,7 duplicate(dummy_npc) #ocp_rebel_6 4_M_REBELLION2
|
||||
1@os_a,26,348,7 duplicate(dummy_npc) #ocp_rebel_7 4_M_REBELLION2
|
||||
1@os_a,29,357,7 duplicate(dummy_npc) #ocp_rebel_8 4_M_REBELLION2
|
||||
1@os_a,38,348,1 duplicate(dummy_npc) #ocp_rebel_9 4_F_GUNSLINGER3
|
||||
1@os_a,32,348,7 duplicate(dummy_npc) #ocp_rebel_10 4_M_REBELLION3
|
||||
1@os_a,26,351,7 duplicate(dummy_npc) #ocp_rebel_11 4_M_GUNSLINGER3
|
||||
1@os_a,35,345,1 duplicate(dummy_npc) #ocp_rebel_12 4_F_GUNSLINGER2
|
||||
1@os_a,35,348,1 duplicate(dummy_npc) #ocp_rebel_13 4_F_GUNSLINGER2
|
||||
1@os_a,26,357,7 duplicate(dummy_npc) #ocp_rebel_14 4_M_GUNSLINGER3
|
||||
1@os_a,26,354,7 duplicate(dummy_npc) #ocp_rebel_15 4_M_GUNSLINGER3
|
||||
1@os_a,32,354,7 duplicate(dummy_npc) #ocp_rebel_16 4_M_REBELLION3
|
||||
1@os_a,29,354,7 duplicate(dummy_npc) #ocp_rebel_17 4_M_REBELLION2
|
||||
1@os_a,35,351,1 duplicate(dummy_npc) #ocp_rebel_18 4_F_GUNSLINGER2
|
||||
1@os_a,35,354,1 duplicate(dummy_npc) #ocp_rebel_19 4_F_GUNSLINGER2
|
||||
1@os_a,32,345,7 duplicate(dummy_npc) #ocp_rebel_20 4_M_REBELLION3
|
||||
1@os_a,38,351,1 duplicate(dummy_npc) #ocp_rebel_21 4_F_GUNSLINGER3
|
||||
1@os_a,35,357,1 duplicate(dummy_npc) #ocp_rebel_22 4_F_GUNSLINGER2
|
||||
1@os_a,38,354,1 duplicate(dummy_npc) #ocp_rebel_23 4_F_GUNSLINGER3
|
||||
1@os_a,38,345,1 duplicate(dummy_npc) #ocp_rebel_24 4_F_GUNSLINGER3
|
||||
1@os_a,32,357,7 duplicate(dummy_npc) #ocp_rebel_25 4_M_REBELLION3
|
887
npc/re/instances/Regenschirm.txt
Normal file
887
npc/re/instances/Regenschirm.txt
Normal file
@ -0,0 +1,887 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Regenschirm
|
||||
//===== Description: =========================================
|
||||
//= [Walkthrough Conversion]
|
||||
//= Episode 17.1 - Regenschirm
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 Initial release [crazyarashi]
|
||||
//= 1.1 Optimizations and cleanup [Everade]
|
||||
//============================================================
|
||||
|
||||
1@rgsr,1,1,0 script #171_rgsr_control HIDDEN_WARP_NPC,{
|
||||
end;
|
||||
|
||||
OnInstanceInit:
|
||||
'map$ = instance_mapname("1@rgsr");
|
||||
'rgsr = 'activate = 0;
|
||||
deletearray 'rescued;
|
||||
deletearray 'rsgr_c;
|
||||
|
||||
disablenpc instance_npcname("Researcher#rgsr_ev_0");
|
||||
disablenpc instance_npcname("Access Controller#rgsr");
|
||||
disablenpc instance_npcname("#rgsr_touch_mob_0");
|
||||
disablenpc instance_npcname("#rgsr_touch_mob_1");
|
||||
disablenpc instance_npcname("#rgsr_warp_0");
|
||||
disablenpc instance_npcname("Est#rgsr");
|
||||
disablenpc instance_npcname("Rebellion Crew#rgsr_dum01");
|
||||
disablenpc instance_npcname("Aas#rgsr3");
|
||||
disablenpc instance_npcname("Goni#rgsr");
|
||||
disablenpc instance_npcname("Est#rgsr2");
|
||||
disablenpc instance_npcname("Central Room#rgsr");
|
||||
disablenpc instance_npcname("Restrained Specimen#rgsr");
|
||||
disablenpc instance_npcname("Control Device#rgsr0");
|
||||
disablenpc instance_npcname("Control Device#rgsr1");
|
||||
disablenpc instance_npcname("Control Device#rgsr2");
|
||||
disablenpc instance_npcname("Control Device#rgsr3");
|
||||
disablenpc instance_npcname("Aas#rgsr4");
|
||||
end;
|
||||
|
||||
OnEvent01:
|
||||
enablenpc instance_npcname("#rgsr_touch_mob_0");
|
||||
enablenpc instance_npcname("#rgsr_touch_mob_1");
|
||||
donpcevent instance_npcname("#rgsr_mob_1") + "::OnSummon";
|
||||
end;
|
||||
|
||||
OnEvent02:
|
||||
enablenpc instance_npcname("#rgsr_warp_0");
|
||||
donpcevent instance_npcname("#rgsr_mob_2") + "::OnSummon";
|
||||
end;
|
||||
|
||||
OnEvent03:
|
||||
enablenpc instance_npcname("Restrained Specimen#rgsr");
|
||||
enablenpc instance_npcname("Control Device#rgsr0");
|
||||
enablenpc instance_npcname("Control Device#rgsr1");
|
||||
enablenpc instance_npcname("Control Device#rgsr2");
|
||||
enablenpc instance_npcname("Control Device#rgsr3");
|
||||
end;
|
||||
|
||||
OnEvent04:
|
||||
if ('rgsr == 13) {
|
||||
'rgsr = 14;
|
||||
donpcevent instance_npcname("#rgsr_boss") + "::OnSummon";
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,123,42,5 script Oscar#rgsr 4_M_LGTGUARD,{
|
||||
mes "[Oscar]";
|
||||
mes "The captain sneaked in the control panel room.";
|
||||
mes "Move quietly.";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,131,58,3 script Aas#rgsr 4_EP17_AS,{
|
||||
cutin "ep171_as02",1;
|
||||
mes "[Aas]";
|
||||
mes "The door is normally locked with the security system, so I have to stay there and work with the controller.";
|
||||
mes "As you can see most of the entrances have been blocked already.";
|
||||
mes "Hi";
|
||||
next;
|
||||
mes "[Aas]";
|
||||
mes "It will take some time to go through them one by one.";
|
||||
mes "I'll keep helping you through the intercom.";
|
||||
next;
|
||||
mes "[Aas]";
|
||||
mes "You'll have to go through the restaurant to reach the hallway.";
|
||||
mes "Est will be performing the operation alone.";
|
||||
next;
|
||||
mes "[Aas]";
|
||||
mes "If there's a disturbance, Est may have caused it. So please check out with her before continuing.";
|
||||
next;
|
||||
mes "[Aas]";
|
||||
mes "You should go now adventurer. I'll keep working on securing the security controller.";
|
||||
mes "There may be researchers detained inside.";
|
||||
next;
|
||||
mes "[Aas]";
|
||||
mes "Please consider their safety first.";
|
||||
mes "Now go ahead.";
|
||||
close2;
|
||||
if ('rgsr == 0) {
|
||||
'rgsr = 1;
|
||||
donpcevent instance_npcname("#171_rgsr_control") + "::OnEvent01";
|
||||
}
|
||||
warp 'map$,127,67;
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,60,138,0 script Access Controller#rgsr 4_ENERGY_WHITE,{
|
||||
enablenpc instance_npcname("Researcher#rgsr_ev_0");
|
||||
if ('rgsr == 2) {
|
||||
'rgsr = 3;
|
||||
npctalk "Communication Requested.";
|
||||
sleep2 2750;
|
||||
npctalk "Analysing Signal.";
|
||||
sleep2 2750;
|
||||
npctalk "Activating Voice Transmission...";
|
||||
sleep2 2750;
|
||||
npctalk "Are you connected? It's Aas.";
|
||||
sleep2 2750;
|
||||
npctalk "I have gained control over some of the security system, but I haven't gained full access yet.";
|
||||
sleep2 2750;
|
||||
npctalk "Unless there is a big disturbance, the alarm or security devices won't work.";
|
||||
sleep2 2750;
|
||||
npctalk "I think you should open this door to open the hallway.";
|
||||
sleep2 2750;
|
||||
npctalk "Ask a Detained Researcher to put their hand on the device.";
|
||||
sleep2 2750;
|
||||
npctalk "...*Zap*....";
|
||||
sleep2 2750;
|
||||
npctalk "Voice Transmission Ended.";
|
||||
sleep2 2750;
|
||||
hideonnpc();
|
||||
enablenpc();
|
||||
npctalk "Researcher : Do you mind If I open the door?",instance_npcname("Researcher#rgsr_ev_0");
|
||||
'rgsr = 4;
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,59,132,7 script Researcher#rgsr_ev_0 4_M_NFMAN,{
|
||||
if ('rgsr == 4 && 'activate == 0) {
|
||||
'activate = 1;
|
||||
mes "[Researcher]";
|
||||
mes "The biometric scan is still operational, I'll be staying here to keep the door open.";
|
||||
mes "If you're in a hurry, please go...";
|
||||
dispbottom "Control : Identity confirmed.";
|
||||
donpcevent instance_npcname("#171_rgsr_control") + "::OnEvent02";
|
||||
close2;
|
||||
sleep2 800;
|
||||
npctalk "Researcher : ...huh... what the hell is this...";
|
||||
end;
|
||||
}
|
||||
}
|
||||
|
||||
1@rgsr,36,211,3 script Est#rgsr 4_F_ESTLOVELOY,{
|
||||
if ('rgsr < 7) {
|
||||
cutin "ep162_est03",2;
|
||||
mes "[Est]";
|
||||
mes "Are you the one who removed the poison gas outside?";
|
||||
mes "You arrived at a good time.";
|
||||
mes "Because of the gas, the door was forcibly locked down!";
|
||||
next;
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "It takes time for Aas to come hack the controller and release the gas.";
|
||||
mes "I was going to do it myself.";
|
||||
next;
|
||||
cutin "ep162_est02",2;
|
||||
mes "[Est]";
|
||||
mes "The guards here were wearing the same clothes as those Heart Hunters we saw before.";
|
||||
mes "I don't think I can save all the researchers alone.";
|
||||
next;
|
||||
mes "[Est]";
|
||||
mes "It seems we've gathered most of them here already.";
|
||||
mes "Let's organize our next strategy.";
|
||||
next;
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "There are laboratories on the other side and it's likely to be a mess.";
|
||||
mes "I wonder if there will be a big fight.";
|
||||
next;
|
||||
mes "[Est]";
|
||||
mes "From now on the Rebellion Special Forces will prioritize on rescuing the Detained Researchers.";
|
||||
mes "If you get it, move quickly!";
|
||||
next;
|
||||
mes "[Est]";
|
||||
mes "Okay, adventurer, find a communication device and get in contact with Aas.";
|
||||
next;
|
||||
mes "[Est]";
|
||||
mes "You have to open the entrance of the private labs.";
|
||||
if ('rgsr == 4)
|
||||
'rgsr = 5;
|
||||
close3;
|
||||
}
|
||||
cutin "ep162_est02",2;
|
||||
mes "[Est]";
|
||||
mes "Huh. We'll focus on rescuing the hostages first.";
|
||||
mes "Look for the Security Guard's room that Aas talked about.";
|
||||
close3;
|
||||
}
|
||||
|
||||
1@rgsr,26,219,0 script Access Controller#rgsr2 4_ENERGY_WHITE,{
|
||||
if ('rgsr < 5) {
|
||||
mes "Code is inactive.";
|
||||
mes "The communication has been terminated.";
|
||||
close;
|
||||
}
|
||||
if ('rgsr == 5) {
|
||||
mes "Voice Transmission Connected.";
|
||||
close2;
|
||||
if ('rgsr == 5)
|
||||
'rgsr = 6;
|
||||
npctalk "Waiting for communication response...";
|
||||
sleep2 2750;
|
||||
npctalk "Aas : Commander Est? We closed the hall lock, but what is the problem?";
|
||||
sleep2 2750;
|
||||
npctalk "Aas : Oh you're the adventurer. I will give you the report. I have not fully taken over the security controller system yet.";
|
||||
sleep2 2750;
|
||||
npctalk "Aas : It seems it will take some time, but I've taken control of most of the monitoring modules.";
|
||||
sleep2 2750;
|
||||
npctalk "Aas : Most of the enemy troops were in the lobby and the resting area, so the lab area is less guarded.";
|
||||
sleep2 2750;
|
||||
npctalk "Aas : However, in order to secure the central control room, you have to go through the Guard's Room where many test subjects were detected.";
|
||||
sleep2 2750;
|
||||
npctalk "Aas : The priority should be to secure the laboratories and then the Guard Room.... *click*";
|
||||
sleep2 2000;
|
||||
npctalk "Est : Eh, what was that?",instance_npcname("Est#rgsr");
|
||||
if ('rgsr == 6)
|
||||
'rgsr = 7;
|
||||
end;
|
||||
}
|
||||
if ('rgsr < 7)
|
||||
end;
|
||||
else {
|
||||
mes "Code is inactive.";
|
||||
mes "The communication has been terminated.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
|
||||
1@rgsr,235,44,5 script Aas#rgsr2 4_EP17_AS,{
|
||||
if ('rgsr == 7) {
|
||||
for (.@i = 0; .@i < 3; .@i++) {
|
||||
if (!'rescued[.@i])
|
||||
.@miss++;
|
||||
}
|
||||
if (.@miss) {
|
||||
cutin "ep171_as02",2;
|
||||
mes "[Aas]";
|
||||
mes "Hey, Did you check all the labs yet?";
|
||||
mes "Please check if there are still Detained Researchers.";
|
||||
close3;
|
||||
}
|
||||
cutin "ep171_as02",1;
|
||||
mes "[Aas]";
|
||||
mes "The spare Master Key still remains.";
|
||||
mes "Without it, I wouldn't have been able to control over the security systems. Are you okay?";
|
||||
next;
|
||||
mes "[Aas]";
|
||||
mes "Now you only need to check the Central Room.";
|
||||
mes "Did you say Heart Hunters?";
|
||||
mes "The traitors from Schlein have already escaped.";
|
||||
next;
|
||||
mes "[Aas]";
|
||||
mes "We've got our focus on that room.";
|
||||
mes "That's the main idea.";
|
||||
mes "Where is Est?";
|
||||
next;
|
||||
cutin "16go_01",0;
|
||||
mes "[Goni]";
|
||||
mes "... ... ...";
|
||||
next;
|
||||
cutin "ep171_as02",1;
|
||||
mes "[Aas]";
|
||||
mes "You have to keep looking for all the Researchers?";
|
||||
mes "That's necessary, I understand.";
|
||||
next;
|
||||
mes "[Aas]";
|
||||
mes "Adventurer, we head to the Central Room.";
|
||||
mes "Meet me over there.";
|
||||
close2;
|
||||
cutin "",255;
|
||||
if ('rgsr == 7) {
|
||||
enablenpc instance_npcname("Central Room#rgsr");
|
||||
'rgsr = 8;
|
||||
disablenpc instance_npcname("#rgsr_mob_2");
|
||||
}
|
||||
end;
|
||||
}
|
||||
cutin "ep171_as02",1;
|
||||
mes "[Aas]";
|
||||
mes "Adventurer, we head to the Central Room.";
|
||||
mes "Meet me over there.";
|
||||
close3;
|
||||
}
|
||||
|
||||
1@rgsr,235,143,5 script Detained Researcher#rgsr_q01 4_F_SCIENCE,{
|
||||
if (!'rescued[0]) {
|
||||
mes "[Researcher]";
|
||||
mes "My... my search... materials...";
|
||||
mes "They took it all!";
|
||||
mes "They took everything!";
|
||||
next;
|
||||
cutin "16go_01",0;
|
||||
mes "[Goni]";
|
||||
mes "... ... ...";
|
||||
next;
|
||||
cutin "",255;
|
||||
npctalk "I'm going to live! Thank you!";
|
||||
mes "Oh, you're here to protect me?";
|
||||
mes "I'll go with you, thank you!";
|
||||
next;
|
||||
mes "[Researcher]";
|
||||
mes "Oh, you're there to protect me?";
|
||||
mes "I'll go with you, thank you!";
|
||||
'rescued[0] = 1;
|
||||
close2;
|
||||
disablenpc();
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,237,108,3 script Detained Researcher#rgsr_q02 4_LGTSCIENCE,{
|
||||
if (!'rescued[1]) {
|
||||
mes "[Researcher]";
|
||||
mes "I thought they kicked out all the crazy guy...";
|
||||
mes "I hit the back of my head like this.";
|
||||
mes "Tsk.";
|
||||
next;
|
||||
mes "[Researcher]";
|
||||
mes "Are you here to save us?";
|
||||
mes "Get me out of here!";
|
||||
mes "We couldn't flee because they put poisonous gas outside the doors!";
|
||||
next;
|
||||
mes "[Researcher]";
|
||||
mes "Yeah, I know a little bit about the Heart Hunters, I will tell you everything!";
|
||||
next;
|
||||
cutin "ep162_est02",2;
|
||||
mes "[Est]";
|
||||
mes "Ah? Do you have more information to share?";
|
||||
mes "Do you want to go outside and talk about it calmly with me?";
|
||||
next;
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "I'll take this guy out of here and you look at the other rooms.";
|
||||
'rescued[1] = 1;
|
||||
close2;
|
||||
cutin "",255;
|
||||
disablenpc();
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,237,71,3 script Detained Researcher#rgsr_q03 4_F_FRUIT,{
|
||||
if (!'rescued[2]) {
|
||||
mes "[Researcher]";
|
||||
mes "Please help me!";
|
||||
mes "I worked a lot and I'm not getting paid!";
|
||||
next;
|
||||
mes "[Researcher]";
|
||||
mes "Schlein, where is Schlein?";
|
||||
mes "He's a traitor!";
|
||||
mes "I've seen it with my own eyes, he just killed the guards...";
|
||||
next;
|
||||
select("Calm down.");
|
||||
mes "[Researcher]";
|
||||
mes "Is it safe now?";
|
||||
mes "I'm glad when I was hired at Rekenber, but what the hell is going with such a big company...";
|
||||
next;
|
||||
mes "[Researcher]";
|
||||
mes "Say what? The Rebellions are coming to save us?";
|
||||
mes "Can't I just run away with you instead?";
|
||||
next;
|
||||
mes "[Researcher]";
|
||||
mes "Oh... you're part of the recon team?";
|
||||
mes "Alright. I'll wait for the rescue team.";
|
||||
mes "Many people escaped by breaking the windows and ran away..";
|
||||
next;
|
||||
mes "[Researcher]";
|
||||
mes "Oh you already know.";
|
||||
mes "Okay. I'll be quiet now and wait.";
|
||||
mes "Your uniform is really cool though.";
|
||||
'rescued[2] = 1;
|
||||
close;
|
||||
}
|
||||
mes "[Researcher]";
|
||||
mes "I know. I know.";
|
||||
mes "If I wait here, will the Rebellions come and save me?";
|
||||
mes "I'll be fine then.";
|
||||
next;
|
||||
mes "[Researcher]";
|
||||
mes "But again, your uniform is really cool.";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,241,51,0 script Scattered Documents#rgsr 4_ENERGY_BLUE,{
|
||||
if (isbegin_quest(7863) == 0) {
|
||||
mes "This is the list of the Enterprise security teams.";
|
||||
mes "Some have circles around them... others are crossed out.";
|
||||
next;
|
||||
cutin "ep171_as01",2;
|
||||
mes "[Aas]";
|
||||
mes "The ones circled are probably those who accepted to be recruited...";
|
||||
mes "My team is the one with a X marked next to it.";
|
||||
next;
|
||||
mes "[Aas]";
|
||||
mes "It's a mercenary contract...";
|
||||
mes "There's a rough plan for the day of the raid.";
|
||||
mes "I can't believe it came to this...";
|
||||
next;
|
||||
mes "[Aas]";
|
||||
mes "This is meant to provoke me.";
|
||||
mes "It won't work this time. I'll track this to the end.";
|
||||
next;
|
||||
mes "[Aas]";
|
||||
mes "I'd better take it back to Tess and analyze it.";
|
||||
setquest 7863;
|
||||
close3;
|
||||
}
|
||||
mes "I've already got the data here.";
|
||||
mes "There's nothing else to see here.";
|
||||
close;
|
||||
|
||||
OnInstanceInit:
|
||||
questinfo(QTYPE_CLICKME,QMARK_YELLOW,"isbegin_quest(7863) == 0");
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,125,157,0 script Central Room#rgsr 4_ENERGY_BLUE,{
|
||||
if ('rgsr == 8) {
|
||||
'rgsr = 9;
|
||||
enablenpc instance_npcname("Aas#rgsr3");
|
||||
enablenpc instance_npcname("Goni#rgsr");
|
||||
enablenpc instance_npcname("Est#rgsr2");
|
||||
npctalk "Am I late?",instance_npcname("Aas#rgsr3");
|
||||
sleep2 1800;
|
||||
npctalk "No you arrived just in time.",instance_npcname("Est#rgsr2");
|
||||
end;
|
||||
}
|
||||
mes "The device does not work.";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,128,157,3 script Aas#rgsr3 4_EP17_AS,{
|
||||
if ('rgsr > 13)
|
||||
end;
|
||||
if ('rgsr == 9) {
|
||||
'rgsr = 10;
|
||||
.@aas$ = instance_npcname("Aas#rgsr3");
|
||||
.@gonie$ = instance_npcname("Goni#rgsr");
|
||||
.@erst$ = instance_npcname("Est#rgsr2");
|
||||
npctalk "Aas : The Central Room seems to be empty. I'll go in and check it out.",.@aas$;
|
||||
sleep2 3000;
|
||||
npctalk "Aas : I'll go ahead and take the researchers out of here. Will that be okay?",.@erst$;
|
||||
sleep2 3000;
|
||||
npctalk "Aas : Yes. Nothing else is being detected on the system. With our progress so far, the enemies have all been restrained.",.@aas$;
|
||||
sleep2 3000;
|
||||
npctalk "Est : What are you scared of something else? I'm going back already!",.@erst$;
|
||||
sleep2 3000;
|
||||
npctalk "Goni : ... Me too.",.@gonie$;
|
||||
sleep2 3000;
|
||||
npctalk "Est : There were couple of researchers left in the labs, I'll go bring them along. I'll be waiting.",.@erst$;
|
||||
sleep2 3000;
|
||||
npctalk "Est : Alright, Goni. You go to the main lobby first and secure the road. I'll take the others at the conference room.",.@erst$;
|
||||
sleep2 3000;
|
||||
npctalk "Goni : *Nods*",.@gonie$;
|
||||
sleep2 3000;
|
||||
disablenpc instance_npcname("Goni#rgsr");
|
||||
disablenpc instance_npcname("Est#rgsr2");
|
||||
npctalk "Aas : So adventurer, let's check out the Central Room.",.@aas$;
|
||||
if ('rgsr == 10)
|
||||
'rgsr = 11;
|
||||
end;
|
||||
}
|
||||
cutin "ep171_as02",1;
|
||||
mes "[Aas]";
|
||||
mes "That's the Central Room right ahead.";
|
||||
next;
|
||||
if (select("Enter.:Wait.") == 2) {
|
||||
mes "[Aas]";
|
||||
mes "Please speak to me when you're ready.";
|
||||
mes "I don't know why, but it's tightly closed;. It takes some time to maintain access.";
|
||||
next;
|
||||
mes "[Aas]";
|
||||
mes "As confirmed by the security system, nothing is being detected on the inside...";
|
||||
mes "I still want to confirm inside the room regardless.";
|
||||
close3;
|
||||
}
|
||||
mes "[Aas]";
|
||||
mes "First I'll need to disable the auto-locking mechanism, and then I'll follow right away.";
|
||||
if ('rgsr == 11) {
|
||||
'rgsr = 12;
|
||||
donpcevent instance_npcname("#171_rgsr_control") + "::OnEvent03";
|
||||
}
|
||||
close2;
|
||||
cutin "",255;
|
||||
warp 'map$,126,164;
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,124,152,5 script Goni#rgsr 4_M_GONY,{
|
||||
cutin "16go_01",0;
|
||||
mes "[Goni]";
|
||||
mes "... ... ...";
|
||||
close3;
|
||||
}
|
||||
|
||||
1@rgsr,125,154,5 script Est#rgsr2 4_F_ESTLOVELOY,{
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "I don't believe there are any enemies left inside, I'm going to pull out.";
|
||||
mes "Just check the Central Room and then get out.";
|
||||
close3;
|
||||
}
|
||||
|
||||
1@rgsr,125,188,3 script Restrained Specimen#rgsr 20353,2,3,{
|
||||
if ('rgsr == 12) {
|
||||
specialeffect EF_RED_HIT;
|
||||
specialeffect EF_BEGINSPELL3;
|
||||
npctalk "Do... do not... come close to me...!! Huh, my head... it hurts...";
|
||||
mapannounce 'map$,"Do... do not... come close to me...!! Huh, my head... it hurts...",bc_map,0x00FF00;
|
||||
'rgsr = 13;
|
||||
}
|
||||
end;
|
||||
|
||||
OnFail:
|
||||
specialeffect EF_FREEZE;
|
||||
npctalk "Awesome-!! That's it... What did you do!!";
|
||||
mapannounce 'map$,"Awesome-!! That's it... What did you do!!",bc_map,0x00FF00;
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,144,180,0 script Control Device#rgsr0 4_ENERGY_BLUE,{
|
||||
if ('rgsr < 13) {
|
||||
mes "This device has an unknown purpose.";
|
||||
mes "There are four buttons in the room.";
|
||||
close;
|
||||
}
|
||||
.@index = atoi(replacestr(strnpcinfo(2),"rgsr",""));
|
||||
if (.@index > 0) {
|
||||
if (!'rsgr_c[ (.@index - 1) ]) {
|
||||
mes "This device has an unknown purpose.";
|
||||
mes "There are four buttons in the room.";
|
||||
next;
|
||||
select("Press the button.");
|
||||
donpcevent instance_npcname("Restrained Specimen#rgsr") + "::OnFail";
|
||||
close;
|
||||
}
|
||||
}
|
||||
if (!'rsgr_c[.@index]) {
|
||||
switch (.@index) {
|
||||
case 0: .@answer = 2; .@string$ = "three phases"; break;
|
||||
case 1: .@answer = 1; .@string$ = "two phases"; break;
|
||||
case 2: .@answer = 4; .@string$ = "one phase"; break;
|
||||
case 3: .@answer = 3;
|
||||
}
|
||||
mes "This device has an unknown purpose.";
|
||||
mes "There are four buttons in the room.";
|
||||
next;
|
||||
.@s = select("Red Button.:Blue Button.:White Button.:Yellow Button.");
|
||||
if (.@s != .@answer)
|
||||
donpcevent instance_npcname("Restrained Specimen#rgsr") + "::OnFail";
|
||||
else {
|
||||
specialeffect EF_BEGINSPELL3,AREA,instance_npcname("Restrained Specimen#rgsr");
|
||||
if (.@index < 3) {
|
||||
mapannounce 'map$,"Gravity control adjustment... completed... There are " + .@string$ +" remaining.",bc_map,0x0D98BA;
|
||||
'rsgr_c[.@index] = 1;
|
||||
} else {
|
||||
'rsgr_c[.@index] = 1;
|
||||
mapannounce 'map$,"Gravity control adjustment... completed... Restraints have been disengaged.",bc_map,0x0D98BA;
|
||||
sleep2 2500;
|
||||
donpcevent instance_npcname("#171_rgsr_control") + "::OnEvent04";
|
||||
}
|
||||
}
|
||||
close;
|
||||
}
|
||||
mes "This device has already been activated.";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,108,168,0 duplicate(Control Device#rgsr0) Control Device#rgsr1 4_ENERGY_RED
|
||||
1@rgsr,114,191,0 duplicate(Control Device#rgsr0) Control Device#rgsr2 4_ENERGY_WHITE
|
||||
1@rgsr,143,168,0 duplicate(Control Device#rgsr0) Control Device#rgsr3 4_ENERGY_YELLOW
|
||||
|
||||
1@rgsr,127,164,3 script Aas#rgsr4 4_EP17_AS,{
|
||||
if ('rgsr != 15)
|
||||
end;
|
||||
cutin "ep171_as01",2;
|
||||
mes "[Aas]";
|
||||
mes "Est has handled everything else on the inside.";
|
||||
mes "Sorry for not being able to help you at all.";
|
||||
next;
|
||||
mes "[Aas]";
|
||||
mes "Let's go back to Einbroch.";
|
||||
mes "I'll... I'll go to my office and join you.";
|
||||
next;
|
||||
.@s = select("Move to Einbroch.:Move to Lighthalzen.:Stay for a while.");
|
||||
if (.@s == 3) {
|
||||
cutin "ep171_as02",2;
|
||||
mes "[Aas]";
|
||||
mes "Do you have anything else to investigate?";
|
||||
mes "I'll wait here.";
|
||||
close3;
|
||||
}
|
||||
mes "[Aas]";
|
||||
mes "We're going to wait for you in the Cat on Bullet.";
|
||||
mes "Please head there and meet us in the headquarters.";
|
||||
completequest 7862;
|
||||
close2;
|
||||
if (.@s == 1)
|
||||
warp "einbroch",301,324;
|
||||
else
|
||||
warp "lighthalzen",54,272;
|
||||
end;
|
||||
}
|
||||
|
||||
//= Monster
|
||||
1@rgsr,1,1,0 script #rgsr_mob_1 HIDDEN_WARP_NPC,{
|
||||
OnSummon:
|
||||
.@event$ = instance_npcname(strnpcinfo(0))+"::OnMobKill";
|
||||
setarray .@xy,
|
||||
153,80,155,81,154,82, //= Bottom Right
|
||||
138,85,136,87,138,89, //= Center Right
|
||||
152,94,152,98,153,98, //= Stairs Right
|
||||
145,114,151,114,156,114, //= Top Right
|
||||
97,114,102,114,107,114, //= Top Left
|
||||
102,98,101,96,101,95, //= Stairs Left
|
||||
116,88,118,88,121,87, //= Center Left
|
||||
117,101,117,101,117,102, //= Center Top
|
||||
93,66,93,67,94,68, //= Bottom Door
|
||||
58,65,56,57,44,59,31,53,15,55, //= Bottom Room
|
||||
59,94,48,98,53,103,36,110,33,126,46,132,55,131; //= Upper Room
|
||||
for (.@i = 0; .@i < getarraysize(.@xy); .@i += 2)
|
||||
monster 'map$,.@xy[.@i],.@xy[.@i+1],"Special Guard",3627,1,.@event$;
|
||||
end;
|
||||
|
||||
OnMobKill:
|
||||
.@event$ = instance_npcname(strnpcinfo(0))+"::OnMobKill";
|
||||
if (!mobcount('map$,.@event$) && 'rgsr == 1) {
|
||||
'rgsr = 2;
|
||||
disablenpc();
|
||||
enablenpc instance_npcname("Access Controller#rgsr");
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,1,1,0 script #rgsr_mob_2 HIDDEN_WARP_NPC,{
|
||||
OnSummon:
|
||||
setarray .@xy,102,137,104,136,104,135,126,139,138,137,139,134,137,133,151,135,150,136,151,137,85,151,82,215,84,216,84,218,107,216;
|
||||
setarray .@left_xy,85,170,54,186,55,183,58,181,59,186,62,183,62,216,59,214,56,217,54,214,52,217;
|
||||
setarray .@right_xy,167,136,167,135,168,135,208,138,208,134,203,138,200,134,187,123,188,
|
||||
123,187,122,186,108,188,107,186,105,196,106,203,109,205,105,208,109,187,92,186,90,188,91,
|
||||
187,69,187,67,188,67,201,74,202,77,207,76,211,74,187,48,188,45,186,46,197,45,202,45,208,42,211,42;
|
||||
setarray .@top_xy,169,217,169,214,172,217,172,214,176,217,176,214,180,217,180,214,184,217,184,214,167,204,168,203,168,203,167,176,167,176,166,175;
|
||||
for (.@i = 0; .@i < getarraysize(.@xy); .@i += 2)
|
||||
monster 'map$,.@xy[.@i],.@xy[.@i+1],"Special Guard",3627,1;
|
||||
for (.@i = 0; .@i < getarraysize(.@left_xy); .@i += 2)
|
||||
monster 'map$,.@left_xy[.@i],.@left_xy[.@i+1],"Poisonous Gas",20352,1,instance_npcname(strnpcinfo(0))+"::OnLeftKill";
|
||||
for (.@i = 0; .@i < getarraysize(.@right_xy); .@i += 2)
|
||||
monster 'map$,.@right_xy[.@i],.@right_xy[.@i+1],"Poisonous Gas",20352,1,instance_npcname(strnpcinfo(0))+"::OnRightKill";
|
||||
for (.@i = 0; .@i < getarraysize(.@top_xy); .@i += 2)
|
||||
monster 'map$,.@top_xy[.@i],.@top_xy[.@i+1],"Poisonous Gas",20352,1,instance_npcname(strnpcinfo(0))+"::OnTopKill";
|
||||
end;
|
||||
|
||||
OnLeftKill:
|
||||
.@event$ = instance_npcname(strnpcinfo(0))+"::OnLeftKill";
|
||||
if (!mobcount('map$,.@event$)) {
|
||||
mapannounce 'map$,"Est : Who is it? Are you Aas? Are you the adventurer?",bc_map,0x0D98BA;
|
||||
enablenpc instance_npcname("Est#rgsr");
|
||||
enablenpc instance_npcname("Rebellion Crew#rgsr_dum01");
|
||||
}
|
||||
end;
|
||||
|
||||
OnRightKill:
|
||||
OnTopKill:
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,1,1,0 script #rgsr_boss HIDDEN_WARP_NPC,{
|
||||
end;
|
||||
OnSummon:
|
||||
mapannounce 'map$,"Ahahaha.. ahahaha... I'll kill you all!!!!",bc_map,0x00FF00;
|
||||
sleep 2000;
|
||||
mapannounce 'map$,"Aas : What is going on? *click* The lock is...!!",bc_map;
|
||||
sleep 2000;
|
||||
mapannounce 'map$,"I'm not a defect! I'm not a monster!",bc_map,0x00FF00;
|
||||
specialeffect EF_LORD,AREA,instance_npcname("Restrained Specimen#rgsr");
|
||||
disablenpc instance_npcname("Restrained Specimen#rgsr");
|
||||
monster 'map$,125,188,"Failed Specimen",20353,1,instance_npcname(strnpcinfo(0))+"::OnBossKill";
|
||||
end;
|
||||
|
||||
OnBossKill:
|
||||
if ('rgsr == 14) {
|
||||
'rgsr = 15;
|
||||
hideonnpc instance_npcname("Aas#rgsr3");
|
||||
disablenpc instance_npcname("Aas#rgsr3");
|
||||
enablenpc instance_npcname("Aas#rgsr4");
|
||||
disablenpc();
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,94,68,5 script #rgsr_touch_mob_0 3622,4,6,{
|
||||
end;
|
||||
|
||||
OnTouch:
|
||||
disablenpc();
|
||||
.@v = atoi(replacestr(strnpcinfo(2),"rgsr_touch_mob_",""));
|
||||
if (!.@v)
|
||||
setarray .@xy,98,66,94,68,95,70,92,68;
|
||||
else
|
||||
setarray .@xy,91,91,91,93,95,93,94,97,97,92;
|
||||
for (.@i = 0; .@i < getarraysize(.@xy); .@i += 2)
|
||||
monster 'map$,.@xy[.@i],.@xy[.@i+1],"Special Guard",3622,1;
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,95,93,5 duplicate(#rgsr_touch_mob_0) #rgsr_touch_mob_1 3622,4,6
|
||||
|
||||
//= Warp/Other
|
||||
1@rgsr,59,136,0 warp #rgsr_warp_0 1,2,1@rgsr,66,136
|
||||
|
||||
1@rgsr,51,184,0 script #rgsr_warp_1 WARPNPC,1,2,{
|
||||
end;
|
||||
|
||||
OnTouch:
|
||||
.@event$ = instance_npcname("#rgsr_mob_2")+"::OnLeftKill";
|
||||
if (mobcount('map$,.@event$)) {
|
||||
dispbottom "Voice Behind Door : Who's outside? exterminate that strange poison gas!!";
|
||||
end;
|
||||
}
|
||||
switch (atoi(replacestr(strnpcinfo(2),"rgsr_warp_",""))) {
|
||||
case 1: warp 'map$,46,184; break;
|
||||
case 2: warp 'map$,46,216; break;
|
||||
case 3: warp 'map$,54,184; break;
|
||||
case 4: warp 'map$,54,216;
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,51,216,0 duplicate(#rgsr_warp_1) #rgsr_warp_2 WARPNPC,1,2
|
||||
1@rgsr,49,184,0 duplicate(#rgsr_warp_1) #rgsr_warp_3 WARPNPC,1,2
|
||||
1@rgsr,49,216,0 duplicate(#rgsr_warp_1) #rgsr_warp_4 WARPNPC,1,2
|
||||
|
||||
1@rgsr,186,216,0 script #rgsr_warp_5 WARPNPC,1,2,{
|
||||
.@event$ = instance_npcname("#rgsr_mob_2")+"::OnTopKill";
|
||||
if (mobcount('map$,.@event$)) {
|
||||
mes "An unknown entity has been detected. Access Denied.";
|
||||
close;
|
||||
}
|
||||
switch (atoi(replacestr(strnpcinfo(2),"rgsr_warp_",""))) {
|
||||
case 5: warp 'map$,191,216; break;
|
||||
case 6: warp 'map$,183,216;
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,188,216,0 duplicate(#rgsr_warp_5) #rgsr_warp_6 WARPNPC,1,2
|
||||
|
||||
1@rgsr,214,136,0 script #rgsr_warp_7 WARPNPC,1,2,{
|
||||
.@event$ = instance_npcname("#rgsr_mob_2")+"::OnRightKill";
|
||||
if (mobcount('map$,.@event$) > 0 || 'rgsr < 7) {
|
||||
mes "An unknown entity has been detected. Access Denied.";
|
||||
close;
|
||||
}
|
||||
switch (atoi(replacestr(strnpcinfo(2),"rgsr_warp_",""))) {
|
||||
case 7: warp 'map$,219,136; break;
|
||||
case 8: warp 'map$,211,136; break;
|
||||
case 9: warp 'map$,219,108; break;
|
||||
case 10: warp 'map$,211,108; break;
|
||||
case 11: warp 'map$,219,76; break;
|
||||
case 12: warp 'map$,211,76; break;
|
||||
case 13: warp 'map$,219,44; break;
|
||||
case 14: warp 'map$,211,44;
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@rgsr,216,136,0 duplicate(#rgsr_warp_7) #rgsr_warp_8 WARPNPC,1,2
|
||||
1@rgsr,214,108,0 duplicate(#rgsr_warp_7) #rgsr_warp_9 WARPNPC,1,2
|
||||
1@rgsr,216,108,0 duplicate(#rgsr_warp_7) #rgsr_warp_10 WARPNPC,1,2
|
||||
1@rgsr,214,76,0 duplicate(#rgsr_warp_7) #rgsr_warp_11 WARPNPC,1,2
|
||||
1@rgsr,216,76,0 duplicate(#rgsr_warp_7) #rgsr_warp_12 WARPNPC,1,2
|
||||
1@rgsr,214,44,0 duplicate(#rgsr_warp_7) #rgsr_warp_13 WARPNPC,1,2
|
||||
1@rgsr,216,44,0 duplicate(#rgsr_warp_7) #rgsr_warp_14 WARPNPC,1,2
|
||||
|
||||
1@rgsr,37,126,0 script Researcher#rgsr_dum00 4_F_SCIENCE,{
|
||||
mes "[Detained Researcher]";
|
||||
mes "Why do I have to feed this traitors?";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,35,136,7 script Researcher#rgsr_dum01 4_LGTSCIENCE,{
|
||||
mes "[Detained Researcher]";
|
||||
mes "I want to go home... I just want to go home...";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,38,139,3 script Researcher#rgsr_dum02 4_M_NFMAN,{
|
||||
mes "[Detained Researcher]";
|
||||
mes "Are you here to save us?";
|
||||
mes "Thank you! Thank you!";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,31,186,3 script Researcher#rgsr_dum03 4_LGTSCIENCE,{
|
||||
mes "[Detained Researcher]";
|
||||
mes "What the hell is happening?";
|
||||
mes "Aaaah... I just want to go home...";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,24,186,5 script Researcher#rgsr_dum04 4_F_SCIENCE,{
|
||||
mes "[Detained Researcher]";
|
||||
mes "Why did you come here to save me?";
|
||||
mes "The Enterprise's guards... no wait...";
|
||||
next;
|
||||
mes "[Detained Researcher]";
|
||||
mes "I thought that you were the one who kept us in custody...!";
|
||||
mes "Why would they do that?";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,25,182,7 script Researcher#rgsr_dum05 4_M_HUMAN_01,{
|
||||
mes "[Detained Researcher]";
|
||||
mes "These scumbags took my Research Report and I escaped here.";
|
||||
mes "It was a spray repellent to block blood-sucking insects!";
|
||||
next;
|
||||
mes "[Detained Researcher]";
|
||||
mes "That was my private research, I don't know why they took it!";
|
||||
mes "You can't just take away someone else's Research Report.";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,40,186,3 script Rebellion Crew#rgsr_dum01 4_M_ILYA,{
|
||||
mes "[Rebellion Crew]";
|
||||
mes "I've come prepared, but this was easier than thought.";
|
||||
mes "Now I'm stuck here. Hehehehe!";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,33,185,3 script Rebellion Crew#rgsr_dum02 4_M_REBELLION2,{
|
||||
mes "[Rebellion Crew]";
|
||||
mes "The remaining researchers are gathered here for their security.";
|
||||
mes "The Rebellions will protect them and help them escape.";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,31,183,5 script Rebellion Crew#rgsr_dum03 4_F_ANYA,{
|
||||
mes "[Rebellion Crew]";
|
||||
mes "I thought they had less forces on the inside, but I didn't think they'd have installed toxic gas.";
|
||||
mes "Most people have fled already, only the enemies are remaining.";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,195,205,0 script Research Report#rgsr_00 4_ENERGY_BLUE,{
|
||||
mes "It is a data on new efficiency and side effect of new potions.";
|
||||
mes "However there is information about the core ingredients.";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,198,199,0 script Research Report#rgsr_01 4_ENERGY_BLUE,{
|
||||
mes "Some of the drawing has been torn.";
|
||||
mes "Somebody intentionally destroyed the relevant parts.";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,207,210,0 script Research Report#rgsr_02 4_ENERGY_BLUE,{
|
||||
mes "Parts of the documents were severely damaged.";
|
||||
mes "It seems to have been about attempting to create a device using the refraction of light.";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,226,226,0 script Research Report#rgsr_03 4_ENERGY_BLUE,{
|
||||
mes "Lloyds's enchantment and processing data.";
|
||||
mes "Only the title was left, all the text was removed.";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,231,223,0 script Research Report#rgsr_04 4_ENERGY_BLUE,{
|
||||
mes "The booklet is missing some pages. Someone has deliberately omitted the material.";
|
||||
close;
|
||||
}
|
||||
|
||||
1@rgsr,243,223,0 script Research Report#rgsr_05 4_ENERGY_BLUE,{
|
||||
mes "The experimental data has been removed. There are clear traces of someone destroying the information.";
|
||||
close;
|
||||
}
|
615
npc/re/instances/SealedOs.txt
Normal file
615
npc/re/instances/SealedOs.txt
Normal file
@ -0,0 +1,615 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Sealed OS
|
||||
//===== Description: =========================================
|
||||
//= [Walkthrough Conversion]
|
||||
//= Episode 17.1 - Sealed OS
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 Initial release [crazyarashi]
|
||||
//= 1.1 Optimizations and cleanup [Everade]
|
||||
//============================================================
|
||||
|
||||
1@os_b,1,1,0 script #171_sealedos_control -1,{
|
||||
end;
|
||||
|
||||
OnInstanceInit:
|
||||
'map$ = instance_mapname("1@os_b");
|
||||
'seal_os = 'lock = 0;
|
||||
hideonnpc instance_npcname("Dien#171_os_0");
|
||||
hideonnpc instance_npcname("Cotnes#171_os_0");
|
||||
hideonnpc instance_npcname("Dien#171_os_1");
|
||||
hideonnpc instance_npcname("Ridsh#171_os_1");
|
||||
hideonnpc instance_npcname("Cotnes#171_os_1");
|
||||
disablenpc instance_npcname("Suspicious Device#171_os");
|
||||
disablenpc instance_npcname("Thick Wire#171_os_0");
|
||||
disablenpc instance_npcname("Thick Wire#171_os_1");
|
||||
disablenpc instance_npcname("Thick Wire#171_os_2");
|
||||
disablenpc instance_npcname("Dien#171_os_2");
|
||||
disablenpc instance_npcname("Cotnes#171_os_2");
|
||||
disablenpc instance_npcname("Dien#171_os_3");
|
||||
hideonnpc instance_npcname("Est#171_os_0");
|
||||
hideonnpc instance_npcname("Cotnes#171_os_3");
|
||||
hideonnpc instance_npcname("Dien#171_os_4");
|
||||
disablenpc instance_npcname("Ridsh#171_os_2");
|
||||
disablenpc instance_npcname("#171_sos_dummy_6");
|
||||
disablenpc instance_npcname("#171_sos_dummy_7");
|
||||
disablenpc instance_npcname("Ridsh#171_os_3");
|
||||
disablenpc instance_npcname("Est#171_os_1");
|
||||
disablenpc instance_npcname("Cotnes#171_os_4");
|
||||
disablenpc instance_npcname("Dien#171_os_5");
|
||||
end;
|
||||
|
||||
OnEvent01:
|
||||
disablenpc instance_npcname("Ridsh#171_os_0");
|
||||
disablenpc instance_npcname("Dien#171_os_0");
|
||||
disablenpc instance_npcname("Cotnes#171_os_0");
|
||||
disablenpc instance_npcname("#171_os_warp_1");
|
||||
disablenpc instance_npcname("#171_os_warp_2");
|
||||
hideoffnpc instance_npcname("Dien#171_os_1");
|
||||
hideoffnpc instance_npcname("Ridsh#171_os_1");
|
||||
hideoffnpc instance_npcname("Cotnes#171_os_1");
|
||||
donpcevent instance_npcname("#171_sealedos_mob") + "::OnSummon00";
|
||||
end;
|
||||
|
||||
OnEvent02:
|
||||
for (.@i = 0; .@i < 6; .@i++)
|
||||
disablenpc instance_npcname("#171_sos_dummy_" +.@i);
|
||||
disablenpc instance_npcname("Suspicious Device#171_os");
|
||||
disablenpc instance_npcname("Dien#171_os_1");
|
||||
disablenpc instance_npcname("Ridsh#171_os_1");
|
||||
disablenpc instance_npcname("Cotnes#171_os_1");
|
||||
disablenpc instance_npcname("#171_os_warp_0");
|
||||
enablenpc instance_npcname("Thick Wire#171_os_0");
|
||||
enablenpc instance_npcname("Thick Wire#171_os_1");
|
||||
enablenpc instance_npcname("Thick Wire#171_os_2");
|
||||
enablenpc instance_npcname("Dien#171_os_2");
|
||||
end;
|
||||
|
||||
OnEvent03:
|
||||
disablenpc instance_npcname("Dien#171_os_2");
|
||||
enablenpc instance_npcname("Cotnes#171_os_2");
|
||||
enablenpc instance_npcname("Dien#171_os_3");
|
||||
enablenpc instance_npcname("Ridsh#171_os_2");
|
||||
end;
|
||||
|
||||
OnEvent04:
|
||||
'unlocked = 1;
|
||||
disablenpc instance_npcname("#171_os_warp_3");
|
||||
enablenpc instance_npcname("Ridsh#171_os_2");
|
||||
enablenpc instance_npcname("#171_sos_dummy_6");
|
||||
enablenpc instance_npcname("#171_sos_dummy_7");
|
||||
end;
|
||||
|
||||
OnEvent05:
|
||||
disablenpc instance_npcname("Ridsh#171_os_2");
|
||||
disablenpc instance_npcname("Est#171_os_0");
|
||||
disablenpc instance_npcname("Cotnes#171_os_3");
|
||||
disablenpc instance_npcname("Dien#171_os_4");
|
||||
disablenpc instance_npcname("#171_os_warp_5");
|
||||
enablenpc instance_npcname("Ridsh#171_os_3");
|
||||
enablenpc instance_npcname("Est#171_os_1");
|
||||
enablenpc instance_npcname("Cotnes#171_os_4");
|
||||
enablenpc instance_npcname("Dien#171_os_5");
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_b,188,45,5 script Ridsh#171_os_0 4_F_LEEDSH,{
|
||||
if (!is_party_leader())
|
||||
end;
|
||||
.@dien$ = instance_npcname("Dien#171_os_0");
|
||||
.@cot$ = instance_npcname("Cotnes#171_os_0");
|
||||
cutin "ep162_rds01",2;
|
||||
mes "[Ridsh]";
|
||||
mes "Oh?";
|
||||
mes "What are you doing here?";
|
||||
npctalk "Ridsh : Oh? What are you doing here.";
|
||||
next;
|
||||
cutin "ep162_rds05",2;
|
||||
mes "[Ridsh]";
|
||||
mes "We're in trouble~~";
|
||||
mes "We can't have anyone know we're here~~";
|
||||
npctalk "Ridsh : We're in trouble~~ We can't have anyone know we're here~~";
|
||||
next;
|
||||
hideoffnpc .@dien$;
|
||||
hideoffnpc .@cot$;
|
||||
cutin "ep162_dn03",2;
|
||||
mes "[Dien]";
|
||||
mes "The adventurer is here too!";
|
||||
mes "Why are you scared!";
|
||||
npctalk "Dien : The adventurer is here too! Why are you scared!",.@dien$;
|
||||
next;
|
||||
mes "[Dien]";
|
||||
mes "Hello " + strcharinfo(0) + ".";
|
||||
sleep2 2000;
|
||||
cutin "ep162_dn01",2;
|
||||
mes "We've came here to do something... It was too troublesome to tell the youngsters.";
|
||||
npctalk "Dien : We've came here to do something... It was too troublesome to tell the youngsters.",.@dien$;
|
||||
next;
|
||||
mes "[Dien]";
|
||||
mes "If you keep it a secret that you saw us...";
|
||||
npctalk "Dien : If you keep it a secret that you saw us...",.@dien$;
|
||||
sleep2 1000;
|
||||
specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_os_warp_1");
|
||||
sleep2 600;
|
||||
specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_os_warp_1");
|
||||
sleep2 600;
|
||||
specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_os_warp_2");
|
||||
next;
|
||||
cutin "ep162_rds04",2;
|
||||
mes "[Ridsh]";
|
||||
mes "Sister~~";
|
||||
mes "What are you talking about, I don't see the adventurer!";
|
||||
npctalk "Ridsh : Sister~~ What are you talking about, I don't see the adventurer!";
|
||||
next;
|
||||
cutin "ep162_ctn01",2;
|
||||
mes "[Cotnes]";
|
||||
mes "Oh~";
|
||||
mes "Yeah?";
|
||||
mes "I don't see the adventurer either~";
|
||||
npctalk "Cotnes : Oh~ Yeah? I don't see the adventurer either~",.@cot$;
|
||||
next;
|
||||
mes "[Cotnes]";
|
||||
mes "So what now?";
|
||||
mes "We're already inside.";
|
||||
npctalk "Cotnes : So what now? We're already inside.",.@cot$;
|
||||
next;
|
||||
cutin "ep162_rds05",2;
|
||||
mes "[Ridsh]";
|
||||
mes "It can't be helped~~";
|
||||
mes "We have to go with the adventurer.";
|
||||
npctalk "Ridsh : It can't be helped~~ We have to go with the adventurer.";
|
||||
next;
|
||||
cutin "ep162_dn01",2;
|
||||
mes "[Dien]";
|
||||
mes "It's dangerous, so please come with us.";
|
||||
npctalk "Dien : It's dangerous so please come with us.",.@dien$;
|
||||
close2;
|
||||
cutin "",255;
|
||||
if ('seal_os == 0) {
|
||||
'seal_os = 1;
|
||||
donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent01";
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_b,212,41,0 script Suspicious Device#171_os 4_ENERGY_BLUE,{
|
||||
mes "- There is a pipe going through the floor. -";
|
||||
next;
|
||||
if (select("Crush it.:Put it down.") == 2) {
|
||||
mes "- Nothing happened. -";
|
||||
close;
|
||||
}
|
||||
mes "- The machine stopped with a strange noise when the pipe was broken. -";
|
||||
specialeffect EF_BLASTMINEBOMB;
|
||||
close2;
|
||||
mapannounce 'map$,"Ridsh : Alright! Let's move up along the railroad tracks!",bc_map,0xFF0000;
|
||||
if ('seal_os == 1) {
|
||||
'seal_os = 2;
|
||||
donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent02";
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_b,1,1,0 script #171_sealedos_mob HIDDEN_WARP_NPC,{
|
||||
end;
|
||||
|
||||
OnSummon00:
|
||||
.@event$ = instance_npcname(strnpcinfo(0))+"::OnMobKill";
|
||||
npctalk "Cotnes : Over here~~.",instance_npcname("Dien#171_os_1");
|
||||
sleep 1000;
|
||||
npctalk "Dien : Oh my... what a surprise!",instance_npcname("Dien#171_os_1");
|
||||
sleep 1000;
|
||||
npctalk "Dien : We will take care of this side. Please take care of the disgusting ones there!",instance_npcname("Dien#171_os_1");
|
||||
monster 'map$,205,46,"Dolor",20361,1,.@event$;
|
||||
monster 'map$,200,45,"Twin Caput",20365,1,.@event$;
|
||||
end;
|
||||
|
||||
OnMobKill:
|
||||
.@event$ = instance_npcname(strnpcinfo(0))+"::OnMobKill";
|
||||
if (!mobcount('map$,.@event$)) {
|
||||
disablenpc();
|
||||
enablenpc instance_npcname("Suspicious Device#171_os");
|
||||
mapannounce 'map$,"Ridsh : Turn off the device at the bottom, while we deal with the enemies.",bc_map,0xFF0000;
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_b,112,108,5 script Dien#171_os_2 4_F_DIENE,{
|
||||
cutin "ep162_dn01",2;
|
||||
mes "[Dien]";
|
||||
mes "Oh my! What's that thing in the front?";
|
||||
close3;
|
||||
}
|
||||
|
||||
1@os_b,115,112,3 script Dangerous-Looking Device#s_os_0 1_SHADOW_NPC,3,3,{
|
||||
end;
|
||||
|
||||
OnTouch:
|
||||
mes "[Dien]";
|
||||
mes "Oh my! I think it's precise device that's placed here in the abandoned mine.";
|
||||
next;
|
||||
mes "[Dien]";
|
||||
mes "If you don't break the machine on the other side, we will not be able pass it!";
|
||||
next;
|
||||
mes "[Dien]";
|
||||
mes "It's dangerous to go through right now, so let's turn around and go where the device is!";
|
||||
close2;
|
||||
warp 'map$,115,104;
|
||||
sleep2 2000;
|
||||
npctalk "Dien : If you don't break the machine on the other side, we will not be able pass it!",instance_npcname("Dien#171_os_2");
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_b,115,126,3 duplicate(Dangerous-Looking Device#s_os_0) Dangerous-Looking Device#s_os_1 1_SHADOW_NPC,3,3
|
||||
1@os_b,115,144,3 duplicate(Dangerous-Looking Device#s_os_0) Dangerous-Looking Device#s_os_2 1_SHADOW_NPC,3,3
|
||||
|
||||
1@os_b,137,107,0 script Thick Wire#171_os_0 4_ENERGY_BLUE,{
|
||||
.@id = atoi(replacestr(strnpcinfo(2),"171_os_",""));
|
||||
'lock += 1;
|
||||
disablenpc();
|
||||
disablenpc instance_npcname("Dangerous-Looking Device#s_os_" + .@id);
|
||||
if ('lock < 3)
|
||||
mapannounce 'map$,"Ridsh : The device hasn't turned off yet. Please take a look above for me.",bc_map,0xFF0000;
|
||||
else {
|
||||
mapannounce 'map$,"Ridsh : Great! The road is open. Let's move along the railroad tracks!",bc_map,0xFF0000;
|
||||
if ('seal_os == 2) {
|
||||
'seal_os = 3;
|
||||
donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent03";
|
||||
}
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_b,137,123,0 duplicate(Thick Wire#171_os_0) Thick Wire#171_os_1 4_ENERGY_BLUE
|
||||
1@os_b,137,139,0 duplicate(Thick Wire#171_os_0) Thick Wire#171_os_2 4_ENERGY_BLUE
|
||||
|
||||
1@os_b,122,212,5 script Dien#171_os_3 4_F_DIENE,{
|
||||
OnTalk:
|
||||
cutin "ep162_dn01",2;
|
||||
mes "[Dien]";
|
||||
mes "Oh!";
|
||||
mes "If you go to the right, I think you can go back on the railroad without having to break the door.";
|
||||
npctalk "Dien : Oh! If you go to the right, I think you can go back on the railroad without having to break the door";
|
||||
if (!'unlocked)
|
||||
donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent04";
|
||||
close3;
|
||||
}
|
||||
|
||||
1@os_b,114,217,0 script Cotnes#171_os_2 4_F_COATNEIS,{
|
||||
cutin "ep162_ctn01",2;
|
||||
mes "[Cotnes]";
|
||||
mes "Oh, is this gate too hard?";
|
||||
mes "It will take some time to break it~";
|
||||
npctalk "Cotnes : Oh, is this gate too hard? It will take some time to break it.";
|
||||
next;
|
||||
doevent instance_npcname("Dien#171_os_3") + "::OnTalk";
|
||||
close;
|
||||
}
|
||||
|
||||
1@os_b,146,221,7 script Ridsh#171_os_2 4_F_LEEDSH,{
|
||||
if ('seal_os != 3)
|
||||
end;
|
||||
cutin "ep162_rds04",2;
|
||||
mes "[Ridsh]";
|
||||
mes "Argh!";
|
||||
npctalk "Ridsh : Argh!";
|
||||
next;
|
||||
.@est$ = instance_npcname("Est#171_os_0");
|
||||
hideoffnpc .@est$;
|
||||
sleep2 500;
|
||||
specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_sos_dummy_6");
|
||||
sleep2 500;
|
||||
disablenpc instance_npcname("#171_sos_dummy_6");
|
||||
specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_sos_dummy_7");
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "Oh...";
|
||||
mes "I'm in a hurry, what are you doing here?";
|
||||
npctalk "Est : I'm in a hurry, what are you doing here?",.@est$;
|
||||
disablenpc instance_npcname("#171_sos_dummy_7");
|
||||
next;
|
||||
cutin "ep162_est02",2;
|
||||
mes "[Est]";
|
||||
mes "Please go back and enjoy your tea gracefully.";
|
||||
npctalk "Est : Please go back and enjoy your tea gracefully.",.@est$;
|
||||
next;
|
||||
cutin "ep162_rds02",2;
|
||||
mes "[Ridsh]";
|
||||
mes "Huh!";
|
||||
mes "How did you sneak in here anyway?";
|
||||
npctalk "Ridsh : Huh! How did you sneak in here anyway?";
|
||||
next;
|
||||
cutin "ep162_est02",2;
|
||||
mes "[Est]";
|
||||
mes "This is only a surveillance routine.";
|
||||
mes "If you close your eyes for a second, you may run into an accident.";
|
||||
npctalk "Est : This is only a surveillance routine.",.@est$;
|
||||
sleep2 2000;
|
||||
npctalk "Est : If you close your eyes for a second, you may run into an accident.",.@est$;
|
||||
next;
|
||||
cutin "ep162_rds02",2;
|
||||
mes "[Ridsh]";
|
||||
mes "What makes you think we need your help?";
|
||||
npctalk "Ridsh : What makes you think we need your help?";
|
||||
next;
|
||||
cutin "ep162_est02",2;
|
||||
mes "[Est]";
|
||||
mes "Didn't you just did now?";
|
||||
mes "I don't think I heard that wrong. Did I?";
|
||||
next;
|
||||
disablenpc instance_npcname("Cotnes#171_os_2");
|
||||
.@cot$ = instance_npcname("Cotnes#171_os_3");
|
||||
hideoffnpc .@cot$;
|
||||
cutin "ep162_ctn01",2;
|
||||
mes "[Cotnes]";
|
||||
mes "You two really~";
|
||||
mes "Please stop fighting.";
|
||||
npctalk "Cotnes : You two really~ Please stop fighting.",.@cot$;
|
||||
next;
|
||||
disablenpc instance_npcname("Dien#171_os_3");
|
||||
.@dien$ = instance_npcname("Dien#171_os_4");
|
||||
hideoffnpc .@dien$;
|
||||
cutin "ep162_dn03",2;
|
||||
mes "[Dien]";
|
||||
mes "How do you always fight like that?";
|
||||
npctalk "Dien : How do you always fight like that?",.@dien$;
|
||||
next;
|
||||
cutin "ep162_ctn01",2;
|
||||
mes "[Cotnes]";
|
||||
mes "I'm so excited about this~ I'm getting old and I'm tired of fighting.";
|
||||
npctalk "Cotnes : I'm so excited about this~ I'm getting old and I'm tired of fighting.",.@cot$;
|
||||
next;
|
||||
cutin "ep162_dn03",1;
|
||||
mes "[Dien]";
|
||||
mes "Is that so?";
|
||||
npctalk "Dien : Is that so?",.@dien$;
|
||||
next;
|
||||
cutin "ep162_ctn01",2;
|
||||
mes "[Cotnes]";
|
||||
mes "Yeah~";
|
||||
mes "I'm tired of fighting, let's go back to work.";
|
||||
mes "The road is open now.";
|
||||
npctalk "Cotnes : Yeah~ I'm tired of fighting, let's go back to work. The road is open now.",.@cot$;
|
||||
close2;
|
||||
cutin "",255;
|
||||
if ('seal_os == 3) {
|
||||
'seal_os = 4;
|
||||
donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent05";
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_b,259,360,5 script Dien#171_os_5 4_F_DIENE,{
|
||||
if ('seal_os != 4)
|
||||
end;
|
||||
cutin "ep162_dn03",2;
|
||||
mes "[Dien]";
|
||||
mes "Finally..";
|
||||
mes "If you cross this door...";
|
||||
next;
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "Let's head back now before they gather more troops.";
|
||||
next;
|
||||
cutin "ep162_dn03",2;
|
||||
mes "[Dien]";
|
||||
mes "Excuse me.";
|
||||
next;
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "?";
|
||||
next;
|
||||
cutin "ep162_rds01",2;
|
||||
mes "[Ridsh]";
|
||||
mes "Why?";
|
||||
next;
|
||||
cutin "ep162_dn03",2;
|
||||
mes "[Dien]";
|
||||
mes "Oh my, oh my!";
|
||||
mes "What should we do!";
|
||||
next;
|
||||
cutin "ep162_rds04",2;
|
||||
mes "[Ridsh]";
|
||||
mes "Why, what's going on?";
|
||||
next;
|
||||
cutin "ep162_dn03",2;
|
||||
mes "[Dien]";
|
||||
mes "I think I've left it.";
|
||||
next;
|
||||
cutin "ep162_rds01",2;
|
||||
mes "[Ridsh]";
|
||||
mes "Left what?";
|
||||
next;
|
||||
cutin "ep162_dn03",2;
|
||||
mes "[Dien]";
|
||||
mes "My protection charm!";
|
||||
mes "I get nervous if I don't have it with me.";
|
||||
next;
|
||||
cutin "ep162_rds04",2;
|
||||
mes "[Ridsh]";
|
||||
mes "You've been fine so far without it?!";
|
||||
next;
|
||||
cutin "ep162_dn03",2;
|
||||
mes "[Dien]";
|
||||
mes "...";
|
||||
next;
|
||||
cutin "ep162_rds01",2;
|
||||
mes "[Ridsh]";
|
||||
mes "Ah... Sorry..";
|
||||
mes "Alright.";
|
||||
next;
|
||||
mes "[Ridsh]";
|
||||
mes "While we open the last door, would you mind going back to ^FF0000Clana Nemieri^000000?";
|
||||
next;
|
||||
mes "[Ridsh]";
|
||||
mes "I have to contact a few people anyway, and Dien won't go anywhere until she gets her protection charm.";
|
||||
next;
|
||||
mes "[Ridsh]";
|
||||
mes "Sister, tell me where it is.";
|
||||
next;
|
||||
cutin "ep162_dn02",2;
|
||||
mes "[Dien]";
|
||||
mes "Oh!";
|
||||
mes "Thank you so much for that";
|
||||
next;
|
||||
mes "[Dien]";
|
||||
mes "It's hard for me to get it back because it's far...";
|
||||
mes "Please do me a favor.";
|
||||
next;
|
||||
cutin "ep162_dn01",2;
|
||||
mes "[Dien]";
|
||||
mes "^FF0000Go back to my room and look for a chest on the left side of the window, near a vase.";
|
||||
next;
|
||||
mes "[Dien]";
|
||||
mes "It should be easy to get since we're here.";
|
||||
next;
|
||||
cutin "ep162_rds05",2;
|
||||
mes "[Ridsh]";
|
||||
mes "Oh!";
|
||||
mes "Shouldn't we tell them where we are?";
|
||||
if (isbegin_quest(11600) == 1) {
|
||||
completequest 11600;
|
||||
setquest 11601;
|
||||
getitem 25669,25;
|
||||
getexp 600000,600000;
|
||||
}
|
||||
close2;
|
||||
warp "ein_fild03",258,267;
|
||||
end;
|
||||
|
||||
OnInstanceInit:
|
||||
questinfo(QTYPE_QUEST,QMARK_YELLOW,"isbegin_quest(11600) == 1");
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_b,260,363,5 script Cotnes#171_os_4 4_F_COATNEIS,{
|
||||
cutin "ep162_ctn01",2;
|
||||
mes "[Cotnes]";
|
||||
mes "It's good sometimes to take a quick walk like this~";
|
||||
close3;
|
||||
}
|
||||
|
||||
1@os_b,262,362,4 script Est#171_os_1 4_F_ESTLOVELOY,{
|
||||
cutin "ep162_est01",2;
|
||||
mes "[Est]";
|
||||
mes "I eager to explore the area beyond here.";
|
||||
close3;
|
||||
}
|
||||
|
||||
1@os_b,261,358,3 script Ridsh#171_os_3 4_F_LEEDSH,{
|
||||
cutin "ep162_rds01",2;
|
||||
mes "[Ridsh]";
|
||||
mes "I'm tired!";
|
||||
mes "I want to go home.";
|
||||
close3;
|
||||
}
|
||||
|
||||
1@os_b,187,52,0 script #171_os_warp_0 WARPNPC,4,4,{
|
||||
end;
|
||||
|
||||
OnTouch:
|
||||
.@id = atoi(replacestr(strnpcinfo(2),"171_os_warp_",""));
|
||||
switch (.@id) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
warp 'map$,188,41;
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
if (!'unlocked) {
|
||||
cutin "ep162_dn01",2;
|
||||
mes "[Dien]";
|
||||
mes "It would be better to just go around the door.";
|
||||
npctalk "Dien : It would be better to just go around the door.",instance_npcname("Dien#171_os_4"),bc_map;
|
||||
close2;
|
||||
cutin "",255;
|
||||
}
|
||||
warp 'map$,114,204;
|
||||
break;
|
||||
case 5:
|
||||
warp 'map$,142,220;
|
||||
}
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_b,204,266,0 script #171_os_trap_0 1_SHADOW_NPC,4,4,{
|
||||
end;
|
||||
|
||||
OnTouch:
|
||||
.@id = atoi(replacestr(strnpcinfo(2),"171_os_trap_",""));
|
||||
if (getd("'" + strnpcinfo(2)))
|
||||
end;
|
||||
switch (.@id) {
|
||||
case 0: setarray .@xy,209,264,20363,209,268,20355; break;
|
||||
case 1: setarray .@xy,234,269,20357,236,266,20357; break;
|
||||
case 2: setarray .@xy,250,268,20363,252,266,20355; break;
|
||||
case 3: setarray .@xy,263,285,20361,259,286,20365; break;
|
||||
case 4: setarray .@xy,262,303,20355,258,306,20355; break;
|
||||
case 5: setarray .@xy,262,318,20363,259,320,20361; break;
|
||||
case 6: setarray .@xy,258,336,20365,263,338,20355;
|
||||
}
|
||||
setd("'" + strnpcinfo(2),1);
|
||||
for (.@i = 0; .@i < getarraysize(.@xy); .@i += 3)
|
||||
monster 'map$,.@xy[.@i],.@xy[.@i+1],"--ja--",.@xy[.@i+2],1,instance_npcname(strnpcinfo(0))+"::OnMobKill";
|
||||
end;
|
||||
|
||||
OnMobKill:
|
||||
.@event$ = instance_npcname(strnpcinfo(0))+"::OnMobKill";
|
||||
if (!mobcount('map$,.@event$))
|
||||
disablenpc();
|
||||
end;
|
||||
}
|
||||
|
||||
1@os_b,148,217,3 duplicate(dummy_npc) Est#171_os_0 4_F_ESTLOVELOY
|
||||
1@os_b,142,225,6 duplicate(dummy_npc) Cotnes#171_os_3 4_F_COATNEIS
|
||||
1@os_b,143,222,5 duplicate(dummy_npc) Dien#171_os_4 4_F_DIENE
|
||||
|
||||
1@os_b,229,267,5 duplicate(#171_os_trap_0) #171_os_trap_1 1_SHADOW_NPC,4,4
|
||||
1@os_b,244,267,5 duplicate(#171_os_trap_0) #171_os_trap_2 1_SHADOW_NPC,4,4
|
||||
1@os_b,261,281,5 duplicate(#171_os_trap_0) #171_os_trap_3 1_SHADOW_NPC,4,4
|
||||
1@os_b,261,299,5 duplicate(#171_os_trap_0) #171_os_trap_4 1_SHADOW_NPC,4,4
|
||||
1@os_b,261,314,5 duplicate(#171_os_trap_0) #171_os_trap_5 1_SHADOW_NPC,4,4
|
||||
1@os_b,261,332,5 duplicate(#171_os_trap_0) #171_os_trap_6 1_SHADOW_NPC,4,4
|
||||
|
||||
1@os_b,191,46,0 duplicate(#171_os_warp_0) #171_os_warp_1 WARPNPC,3,3
|
||||
1@os_b,192,49,0 duplicate(#171_os_warp_0) #171_os_warp_2 WARPNPC,3,3
|
||||
1@os_b,118,209,0 duplicate(#171_os_warp_0) #171_os_warp_3 WARPNPC,3,3
|
||||
1@os_b,119,215,0 duplicate(#171_os_warp_0) #171_os_warp_4 WARPNPC,3,3
|
||||
1@os_b,147,224,0 duplicate(#171_os_warp_0) #171_os_warp_5 WARPNPC,3,3
|
||||
|
||||
1@os_b,190,44,3 duplicate(dummy_npc) Dien#171_os_0 4_F_DIENE
|
||||
1@os_b,190,47,6 duplicate(dummy_npc) Cotnes#171_os_0 4_F_COATNEIS
|
||||
1@os_b,199,51,7 duplicate(dummy_npc) Dien#171_os_1 4_F_DIENE
|
||||
1@os_b,201,49,3 duplicate(dummy_npc) Cotnes#171_os_1 4_F_COATNEIS
|
||||
1@os_b,203,51,0 duplicate(dummy_npc) Ridsh#171_os_1 4_F_LEEDSH
|
||||
1@os_b,199,56,5 duplicate(dummy_npc) #171_sos_dummy_0 20355
|
||||
1@os_b,202,56,3 duplicate(dummy_npc) #171_sos_dummy_1 20357
|
||||
1@os_b,198,53,3 duplicate(dummy_npc) #171_sos_dummy_2 20355
|
||||
1@os_b,200,54,4 duplicate(dummy_npc) #171_sos_dummy_3 20361
|
||||
1@os_b,203,54,5 duplicate(dummy_npc) #171_sos_dummy_4 20357
|
||||
1@os_b,201,52,3 duplicate(dummy_npc) #171_sos_dummy_5 20363
|
||||
1@os_b,144,221,5 duplicate(dummy_npc) #171_sos_dummy_6 20363
|
||||
1@os_b,148,221,3 duplicate(dummy_npc) #171_sos_dummy_7 20365
|
||||
1@os_b,200,276,5 duplicate(dummy_npc) #171_sos_dummy_8 20361
|
||||
1@os_b,207,275,3 duplicate(dummy_npc) #171_sos_dummy_9 20363
|
||||
1@os_b,205,258,3 duplicate(dummy_npc) #171_sos_dummy_10 20365
|
||||
1@os_b,213,257,2 duplicate(dummy_npc) #171_sos_dummy_11 20357
|
||||
1@os_b,231,274,5 duplicate(dummy_npc) #171_sos_dummy_12 20361
|
||||
1@os_b,234,276,5 duplicate(dummy_npc) #171_sos_dummy_13 20365
|
||||
1@os_b,244,275,3 duplicate(dummy_npc) #171_sos_dummy_14 20361
|
||||
1@os_b,242,276,3 duplicate(dummy_npc) #171_sos_dummy_15 20365
|
||||
1@os_b,253,286,5 duplicate(dummy_npc) #171_sos_dummy_16 20363
|
||||
1@os_b,265,284,3 duplicate(dummy_npc) #171_sos_dummy_17 20355
|
||||
1@os_b,252,302,5 duplicate(dummy_npc) #171_sos_dummy_18 20363
|
||||
1@os_b,251,300,5 duplicate(dummy_npc) #171_sos_dummy_19 20361
|
||||
1@os_b,61,263,3 duplicate(dummy_npc) #171_sos_dummy_20 20365
|
||||
1@os_b,264,267,3 duplicate(dummy_npc) #171_sos_dummy_21 20361
|
||||
1@os_b,263,262,3 duplicate(dummy_npc) #171_sos_dummy_22 20363
|
||||
1@os_b,192,276,5 duplicate(dummy_npc) #171_sos_dummy_23 20365
|
||||
1@os_b,194,250,5 duplicate(dummy_npc) #171_sos_dummy_24 20355
|
||||
1@os_b,196,251,3 duplicate(dummy_npc) #171_sos_dummy_25 20363
|
||||
1@os_b,197,250,3 duplicate(dummy_npc) #171_sos_dummy_26 20357
|
||||
1@os_b,124,230,5 duplicate(dummy_npc) #171_sos_dummy_27 20365
|
||||
1@os_b,126,232,5 duplicate(dummy_npc) #171_sos_dummy_28 20365
|
||||
1@os_b,128,231,5 duplicate(dummy_npc) #171_sos_dummy_29 20361
|
||||
1@os_b,134,230,3 duplicate(dummy_npc) #171_sos_dummy_30 20363
|
@ -50,3 +50,4 @@ Footer:
|
||||
- Path: npc/re/merchants/barters/Extended_Ammunition.yml
|
||||
- Path: npc/re/merchants/barters/quests_16_1.yml
|
||||
- Path: npc/re/merchants/barters/quests_16_2.yml
|
||||
- Path: npc/re/merchants/barters/quests_17_1.yml
|
||||
|
1299
npc/re/merchants/barters/quests_17_1.yml
Normal file
1299
npc/re/merchants/barters/quests_17_1.yml
Normal file
File diff suppressed because it is too large
Load Diff
612
npc/re/merchants/enchan_illusion_17_1.txt
Normal file
612
npc/re/merchants/enchan_illusion_17_1.txt
Normal file
@ -0,0 +1,612 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Episode 17.1 - Illusion Enchants
|
||||
//===== Description: =========================================
|
||||
//= [Walkthrough Conversion]
|
||||
//= Illusion related merchants and enchanters
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 Initial release [crazyarashi]
|
||||
//= 1.1 Optimizations and cleanup [Everade]
|
||||
//= 1.2 iRO conversion for 2 NPCs [Capuche, Everade]
|
||||
//============================================================
|
||||
|
||||
sp_cor,152,158,4 script Butterfly Merchant#sp_cor 4_M_ORIENT01,{
|
||||
mes "[Butterfly Merchant]";
|
||||
mes "Hey, nice to meet you.";
|
||||
mes "I'm selling " + getitemname(100903) + ", do you want to buy it?"; // Teleport_Ep17_01
|
||||
close2;
|
||||
callshop "shop_sp_cor";
|
||||
end;
|
||||
}
|
||||
|
||||
sp_cor,136,156,3 script Grace Operator#ext162 4_M_REPAIR,{
|
||||
mes "[Grace Operator]";
|
||||
mes "Hello.";
|
||||
mes "We have ^4d4dffGrace^000000 equipment that can be exchanged for <ITEM>[" + getitemname(25723) + "]<INFO>25723</INFO></ITEM>.";
|
||||
mes "I will guide you to exchange items according to your job.";
|
||||
close2;
|
||||
switch( eaclass() & EAJ_THIRDMASK ) {
|
||||
case EAJ_RUNE_KNIGHT:
|
||||
.@str$ = "JOB_RUNE_KNIGHT";
|
||||
break;
|
||||
case EAJ_WARLOCK:
|
||||
.@str$ = "JOB_WARLOCK";
|
||||
break;
|
||||
case EAJ_RANGER:
|
||||
.@str$ = "JOB_RANGER";
|
||||
break;
|
||||
case EAJ_ARCH_BISHOP:
|
||||
.@str$ = "JOB_ARCH_BISHOP";
|
||||
break;
|
||||
case EAJ_MECHANIC:
|
||||
.@str$ = "JOB_MECHANIC";
|
||||
break;
|
||||
case EAJ_GUILLOTINE_CROSS:
|
||||
.@str$ = "JOB_GUILLOTINE_CROSS";
|
||||
break;
|
||||
case EAJ_ROYAL_GUARD:
|
||||
.@str$ = "JOB_ROYAL_GUARD";
|
||||
break;
|
||||
case EAJ_SORCERER:
|
||||
.@str$ = "JOB_SORCERER";
|
||||
break;
|
||||
case EAJ_MINSTRELWANDERER:
|
||||
.@str$ = "JOB_MINSTREL";
|
||||
break;
|
||||
case EAJ_SURA:
|
||||
.@str$ = "JOB_SURA";
|
||||
break;
|
||||
case EAJ_GENETIC:
|
||||
.@str$ = "JOB_GENETIC";
|
||||
break;
|
||||
case EAJ_SHADOW_CHASER:
|
||||
.@str$ = "JOB_SHADOW_CHASER";
|
||||
break;
|
||||
default:
|
||||
switch( Class ) {
|
||||
case JOB_SUPER_NOVICE_E:
|
||||
case JOB_SUPER_BABY_E:
|
||||
case JOB_HYPER_NOVICE:
|
||||
.@str$ = "JOB_SUPER_NOVICE_E";
|
||||
break;
|
||||
case JOB_KAGEROU:
|
||||
case JOB_OBORO:
|
||||
case JOB_BABY_KAGEROU:
|
||||
case JOB_BABY_OBORO:
|
||||
case JOB_SHINKIRO:
|
||||
case JOB_SHIRANUI:
|
||||
.@str$ = "JOB_KAGEROU";
|
||||
break;
|
||||
case JOB_REBELLION:
|
||||
case JOB_BABY_REBELLION:
|
||||
case JOB_NIGHT_WATCH:
|
||||
.@str$ = "JOB_REBELLION";
|
||||
break;
|
||||
case JOB_SUMMONER:
|
||||
case JOB_BABY_SUMMONER:
|
||||
case JOB_SPIRIT_HANDLER:
|
||||
.@str$ = "JOB_SUMMONER";
|
||||
break;
|
||||
case JOB_STAR_EMPEROR:
|
||||
case JOB_BABY_STAR_EMPEROR:
|
||||
case JOB_STAR_EMPEROR2:
|
||||
case JOB_BABY_STAR_EMPEROR2:
|
||||
case JOB_SKY_EMPEROR:
|
||||
case JOB_SKY_EMPEROR2:
|
||||
.@str$ = "JOB_STAR_EMPEROR";
|
||||
break;
|
||||
case JOB_SOUL_REAPER:
|
||||
case JOB_BABY_SOUL_REAPER:
|
||||
case JOB_SOUL_ASCETIC:
|
||||
.@str$ = "JOB_SOUL_REAPER";
|
||||
break;
|
||||
default:
|
||||
end;
|
||||
}
|
||||
break;
|
||||
}
|
||||
callshop "shop_ext171_" + .@str$;
|
||||
end;
|
||||
}
|
||||
|
||||
// Enchanting Supply Exchange NPC - Official iRO Conversion
|
||||
sp_cor,108,130,5 script Rebellion#rm171_7 4_F_REBELLION3,{
|
||||
if (isbegin_quest(17019) == 0) {
|
||||
mes "[Rebellion]";
|
||||
mes "The Rebellion is using this building for the moment.";
|
||||
mes "Along with a few others around it.";
|
||||
next;
|
||||
mes "[Rebellion]";
|
||||
mes "We haven't been this busy for a long time.";
|
||||
mes "I don't like that we're working with the President and the company, but it still feels good to be busy with something.";
|
||||
close;
|
||||
}
|
||||
if (isbegin_quest(16353) < 2) {
|
||||
mes "[Rebellion]";
|
||||
mes "So, you received the message. The Captains are having a meeting on the inside. Captain Elena Volkova must have called you.";
|
||||
mes "... I was going to call her, but she's already here.";
|
||||
cloakoffnpc "Elena Volkova#rm171_0", getcharid(0);
|
||||
npctalk "Elena Volkova: Ah, I've been looking for you, Adventurer.", "Elena Volkova#rm171_0", bc_self;
|
||||
if (isbegin_quest(16352) == 0)
|
||||
setquest 16352;
|
||||
close;
|
||||
}
|
||||
if (isbegin_quest(16360) < 2) {
|
||||
mes "[Rebellion]";
|
||||
mes "The Rebellion is using this building for the moment.";
|
||||
mes "Along with a few others around it.";
|
||||
next;
|
||||
mes "[Rebellion]";
|
||||
mes "We haven't been this busy for a long time.";
|
||||
mes "I don't like that we're working with the President and the company, but it still feels good to be busy with something.";
|
||||
close2;
|
||||
if (isbegin_quest(16352) == 1)
|
||||
erasequest 16352;
|
||||
end;
|
||||
}
|
||||
mes "[Rebellion]";
|
||||
mes "Did you bring Damaged Weapons? Would you like to see that science criminal? He's in there. Want me to call him for you?";
|
||||
mes "Or do you have business with me? I can exchange Weapon Modification Devices and Armor Modification Modules.";
|
||||
cloakoffnpc "Elyumina#rm171_4", getcharid(0);
|
||||
npctalk "Rebellion: Hey, criminal. You're wanted.", "Rebellion#rm171_7", bc_self;
|
||||
npctalk "Elyumina: Alright, alright! I'm coming! You're so pathetic that without me, you'll have to fight with bean bags.", "Elyumina#rm171_4", bc_self;
|
||||
next;
|
||||
switch (select("See Elyumina.", "Request Weapon Modification Device.", "Request Armor Modification Module.")) {
|
||||
case 1:
|
||||
mes "[Rebellion]";
|
||||
mes "Okay, enjoy your conversation.";
|
||||
mes "It took a long time to coax him, but he eventually agreed to modify our weapons and armor. He's pretty good at it, too. He's been working all day, every day.";
|
||||
close;
|
||||
case 2:
|
||||
npctalk "Elyumina: What? If you were just going to keep me standing here like a statue, why did you even call me? You jerks!", "Elyumina#rm171_4", bc_self;
|
||||
if (checkweight(1201,3) == 0) {
|
||||
mes "[Rebellion]";
|
||||
mes "Do you want a Weapon Modification Device? It's 5 <ITEM>[Cor Cores]<INFO>25723</INFO></ITEM> or 1 million Zeny.";
|
||||
mes "Your bag is full. Please make some room first.";
|
||||
close;
|
||||
}
|
||||
mes "[Rebellion]";
|
||||
mes "Do you want a Weapon Modification Device? It's 5 <ITEM>[Cor Cores]<INFO>25723</INFO></ITEM> or 1 million Zeny.";
|
||||
mes "If you want a weapon, you can talk to Elyumina.";
|
||||
next;
|
||||
if (select("Request Weapon Modification Device (Physical).", "Request Weapon Modification Device (Magic).") == 1) {
|
||||
.@item_id = 23773; // EP17_1_SPC02
|
||||
setarray .@ids[0],23776,23777,23778;
|
||||
} else {
|
||||
.@item_id = 23774; // EP17_1_SPC03
|
||||
setarray .@ids[0],23779,23780,23781;
|
||||
}
|
||||
mes "[Rebellion]";
|
||||
mes "I can randomly give you a <ITEM>[" + getitemname(.@ids[0]) + "]<INFO>" + .@ids[0] + "</INFO></ITEM>,";
|
||||
mes "<ITEM>[" + getitemname(.@ids[1]) + "]<INFO>" + .@ids[1] + "</INFO></ITEM>,";
|
||||
mes "or <ITEM>[" + getitemname(.@ids[2]) + "]<INFO>" + .@ids[2] + "</INFO></ITEM>.";
|
||||
mes "Which one do you have, 5 Cor Cores or 1 million Zeny?";
|
||||
next;
|
||||
disable_items;
|
||||
switch (select("5 Cor Cores", "1 million Zeny")) {
|
||||
case 1:
|
||||
if (checkweight(1201,3) == 0) {
|
||||
mes "[Rebellion]";
|
||||
mes "There seems to be a problem. Please check if your bag has enough free space, and you have all the exchange materials you need.";
|
||||
close;
|
||||
}
|
||||
if (countitem(25723) < 5) {
|
||||
mes "[Rebellion]";
|
||||
mes "You don't have enough Cor Cores. Please check your bag again.";
|
||||
close;
|
||||
}
|
||||
delitem 25723,5; // EP17_1_EVT39
|
||||
break;
|
||||
case 2:
|
||||
if (checkweight(1201,3) == 0) {
|
||||
mes "[Rebellion]";
|
||||
mes "There seems to be a problem. Please check if your bag has enough free space, and you have all the exchange materials you need.";
|
||||
close;
|
||||
}
|
||||
if (Zeny < 1000000) {
|
||||
mes "[Rebellion]";
|
||||
mes "You don't have enough Zeny. Please check your wallet again.";
|
||||
close;
|
||||
}
|
||||
Zeny -= 1000000;
|
||||
}
|
||||
consumeitem .@item_id;
|
||||
mes "[Rebellion]";
|
||||
mes "I gave you the best I had left.";
|
||||
mes "If you want to refine it, the <NAVI>[Tin Can]<INFO>sp_cor,106,136,0,101,0</INFO></NAVI> next to me can take good care of you.";
|
||||
close;
|
||||
case 3:
|
||||
npctalk "Elyumina: What? If you were just going to keep me standing here like a statue, why did you even call me? You brutes!", "Elyumina#rm171_4", bc_self;
|
||||
mes "[Rebellion]";
|
||||
mes "Do you want an Armor Modification Module? It's 30 <ITEM>[Mysterious Components]<INFO>25669</INFO></ITEM> and 5 <ITEM>[Cor Cores]<INFO>25723</INFO></ITEM>.";
|
||||
if (checkweight(1201,3) == 0) {
|
||||
mes "Your bag is full. Please make some room first.";
|
||||
close;
|
||||
}
|
||||
mes "The kind you get is randomly decided.";
|
||||
next;
|
||||
if (select("Request Armor Modification Module.", "Cancel.") == 2) {
|
||||
mes "[Rebellion]";
|
||||
mes "Feel feel to talk to me if you want Armor Modification Modules.";
|
||||
close;
|
||||
}
|
||||
disable_items;
|
||||
if (countitem(25669) < 30 || countitem(25723) < 5) {
|
||||
mes "[Rebellion]";
|
||||
mes "Each Module requires 30 Mysterious Components and 5 Cor Cores. You don't have them all. Please check.";
|
||||
close;
|
||||
}
|
||||
if (checkweight(1201,3) == 0) {
|
||||
mes "[Rebellion]";
|
||||
mes "There seems to be a problem. Please check if your bag has enough free space, and you have all the exchange materials you need.";
|
||||
close;
|
||||
}
|
||||
mes "[Rebellion]";
|
||||
mes "I gave you an Armor Modification Module.";
|
||||
mes "If you want to refine it, the <NAVI>[Tin Can]<INFO>sp_cor,106,136,0,101,0</INFO></NAVI> next to me can take good care of you.";
|
||||
delitem 25669,30; // EP17_1_EVT02
|
||||
delitem 25723,5; // EP17_1_EVT39
|
||||
consumeitem 23775; // EP17_1_SPC04
|
||||
close;
|
||||
}
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
questinfo (QTYPE_QUEST, QMARK_YELLOW, " isbegin_quest(17019) == 1 && isbegin_quest(16352) == 0 ");
|
||||
end;
|
||||
}
|
||||
|
||||
// Equipment Exchange NPC - Official iRO Conversion
|
||||
sp_cor,111,130,3 script Elyumina#rm171_4 4_EP17_ELYUMINA,{
|
||||
if (isbegin_quest(16360) < 2) {
|
||||
cutin "ep171_elyumina02",0;
|
||||
mes "[Elyumina]";
|
||||
mes "Argh! Why do you keep asking for me when I need to focus on my research? I'm busy, alright? If you're bored, go bring me more damaged weapons!";
|
||||
close2;
|
||||
cloakonnpc "Elyumina#rm171_3", getcharid(0);
|
||||
cutin "",255;
|
||||
end;
|
||||
}
|
||||
if (checkweight(28136,2) == 0) {
|
||||
cutin "ep171_elyumina03",0;
|
||||
mes "[Elyumina]";
|
||||
mes "Didn't you come for weapons or armor? Your bag is full. I don't have time to wait for you while you rummage through your bag. Come back later.";
|
||||
next;
|
||||
mes " - Your bag is full. Please make some room, and then talk to me again. -";
|
||||
close3;
|
||||
}
|
||||
cutin "ep171_elyumina01",0;
|
||||
mes "[Elyumina]";
|
||||
mes "What is it so important that you had to interrupt my research? This had better be important.";
|
||||
next;
|
||||
cutin "",255;
|
||||
switch (select("Request OS Weapon.", "Request Illusion Armor.")) {
|
||||
case 1:
|
||||
cutin "ep171_elyumina01",0;
|
||||
mes "[Elyumina]";
|
||||
mes "OS weapons? I'll handle that if you bring me 1 <ITEM>[Damaged Weapon]<INFO>25668</INFO></ITEM> and 50 <ITEM>[Mysterious Components]<INFO>25669</INFO></ITEM>.";
|
||||
mes "I'll give you whatever kind I want to give you, among the ones I have. Why should I let you pick?";
|
||||
next;
|
||||
cutin "",255;
|
||||
if (select("Exchange OS Weapon.", "Check the available list.") == 2) {
|
||||
cutin "ep171_elyumina03",0;
|
||||
mes "[Elyumina]";
|
||||
mes "Tsk, tsk. I said everything I make is good. Do you really have to choose? Alright, then listen up.";
|
||||
next;
|
||||
mes "[Elyumina]";
|
||||
mes "Sword: <ITEM>[Cannon Rapier-OS]<INFO>13493</INFO></ITEM>";
|
||||
mes "Two-handed Sword: <ITEM>[Beam Claymore-OS]<INFO>21047</INFO></ITEM>";
|
||||
mes "Staff: <ITEM>[Rutilus Stick-OS]<INFO>26151</INFO></ITEM>";
|
||||
mes "Book: <ITEM>[Circuit Board-OS]<INFO>28629</INFO></ITEM>";
|
||||
mes "Axe: <ITEM>[Blasti-OS]<INFO>28136</INFO></ITEM>";
|
||||
mes "Mace: <ITEM>[Saphir Hall-OS]<INFO>16088</INFO></ITEM>";
|
||||
mes "Bow: <ITEM>[Virtual Bow-OS]<INFO>18178</INFO></ITEM>";
|
||||
mes "Crossbow: <ITEM>[MH-P89-OS]<INFO>18179</INFO></ITEM>";
|
||||
mes "Katar: <ITEM>[Meuchler-OS]<INFO>28038</INFO></ITEM>";
|
||||
mes "Knuckle: <ITEM>[Burning Knuckle-OS]<INFO>1862</INFO></ITEM>";
|
||||
mes "Sniper Rifle: <ITEM>[HR-S55-OS]<INFO>28253</INFO></ITEM>";
|
||||
mes "Dagger: <ITEM>[Kuroiro-OS]<INFO>28755</INFO></ITEM>";
|
||||
mes "Bow: <ITEM>[AC-B44-OS]<INFO>18180</INFO></ITEM>";
|
||||
mes "Lance: <ITEM>[Boost Lance-OS]<INFO>32019</INFO></ITEM>";
|
||||
mes "Mace: <ITEM>[Ultio-OS]<INFO>16089</INFO></ITEM>";
|
||||
close3;
|
||||
}
|
||||
disable_items;
|
||||
if (countitem(25668) < 1 || countitem(25669) < 50) {
|
||||
cutin "ep171_elyumina03",0;
|
||||
mes "[Elyumina]";
|
||||
mes "I told you, bring me 1 Damaged Weapon and 50 Mysterious Components. You should listen when people talk.";
|
||||
close3;
|
||||
}
|
||||
if (checkweight(28136,2) == 0) {
|
||||
cutin "ep171_elyumina03",0;
|
||||
mes "[Elyumina]";
|
||||
mes "... What the? There's a problem.";
|
||||
mes "Not on my end, of course. This is on you. Check if your bag is full or you have all the materials you need.";
|
||||
close3;
|
||||
}
|
||||
cutin "ep171_elyumina04",0;
|
||||
mes "[Elyumina]";
|
||||
mes "There. If you want another, then bring me more Damaged Weapons and Mysterious Components.";
|
||||
mes "I'm locked up in here, fixing toys, because of you. You can deal with this, right?";
|
||||
delitem 25668,1; // EP17_1_EVT01
|
||||
delitem 25669,50; // EP17_1_EVT02
|
||||
consumeitem 23772; // EP17_1_SPC01
|
||||
close3;
|
||||
case 2:
|
||||
cutin "ep171_elyumina04",0;
|
||||
mes "[Elyumina]";
|
||||
mes "If you want Illusion armor, bring me 50 <ITEM>[Cor Cores]<INFO>25723</INFO></ITEM>. I'll give you a piece.";
|
||||
mes "Let's see... Ooh, when did I make so many varieties? Alright, I feel generous. What do you want?";
|
||||
next;
|
||||
cutin "",255;
|
||||
switch (select("Illusion Armor", "Illusion Engine Wing", "Illusion Leg", "Illusion Booster", "Illusion Battle Chip")) {
|
||||
case 1:
|
||||
setarray .@item[0],15376,15377;
|
||||
break;
|
||||
case 2:
|
||||
setarray .@item[0],20933,20934;
|
||||
break;
|
||||
case 3:
|
||||
setarray .@item[0],22196,22197;
|
||||
break;
|
||||
case 4:
|
||||
setarray .@item[0],32207,32208;
|
||||
break;
|
||||
case 5:
|
||||
setarray .@item[0],32209,32210;
|
||||
break;
|
||||
}
|
||||
cutin "ep171_elyumina01",0;
|
||||
mes "[Elyumina]";
|
||||
mes "<ITEM>[" + getitemname(.@item[0]) + "]<INFO>" + .@item[0] + "</INFO></ITEM>";
|
||||
mes "<ITEM>[" + getitemname(.@item[1]) + "]<INFO>" + .@item[1] + "</INFO></ITEM>";
|
||||
mes "Which one?";
|
||||
next;
|
||||
cutin "",255;
|
||||
.@id = .@item[ select( getitemname(.@item[0]), getitemname(.@item[1]) ) -1 ];
|
||||
cutin "ep171_elyumina04",0;
|
||||
mes "[Elyumina]";
|
||||
mes "Alright, " + getitemname(.@id) + ", right? Do you really want to trade it for 50 Cor Cores?";
|
||||
next;
|
||||
cutin "",255;
|
||||
if (select( "Exchange.", "Do not exchange." ) == 2) {
|
||||
cutin "ep171_elyumina03",0;
|
||||
mes "[Elyumina]";
|
||||
mes "Hey, are you kidding me? Hey, I tried to be nice!";
|
||||
close3;
|
||||
}
|
||||
disable_items;
|
||||
if (countitem(25723) < 50) {
|
||||
cutin "ep171_elyumina02",0;
|
||||
mes "[Elyumina]";
|
||||
mes "Hey, are you kidding me? You don't have all the Cor Cores! Hey, I tried to be nice!";
|
||||
enable_items;
|
||||
close3;
|
||||
}
|
||||
cutin "ep171_elyumina04",0;
|
||||
mes "[Elyumina]";
|
||||
mes "Here, take this " + getitemname(.@id) + ". I bet it's probably the best armor you've ever had. You really ought to be grateful.";
|
||||
delitem 25723,50; // EP17_1_EVT390
|
||||
getitem .@id,1;
|
||||
enable_items;
|
||||
close3;
|
||||
}
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
cloakonnpc();
|
||||
end;
|
||||
}
|
||||
|
||||
// Illusion Enchanter - Walkthrough Conversion
|
||||
sp_cor,106,136,3 script RS26#illusion_enchant 4_SYS_MSG,{
|
||||
if(!checkweight(1201,1) || (MaxWeight - Weight) < 1000){
|
||||
mes "You can't proceed with the conversation because you have a large quantity of items.";
|
||||
mes "Please organize your items and try again.";
|
||||
close;
|
||||
}
|
||||
disable_items;
|
||||
mes "[RS26]";
|
||||
mes strcharinfo(0)+".";
|
||||
mes "Welcome, Welcome!";
|
||||
next;
|
||||
switch (select("Explore the devices.:Enchant Illusion Armor.:Enchant Illusion Engine Wing.:Enchant Illusion Leg.:Enchant Illusion Accessory [R]:Enchant Illusion Accessory [L]")) {
|
||||
case 1:
|
||||
mes "^0000FF# I'm the latest hologram technology perfected to show natural responses and gestures. #^000000";
|
||||
next;
|
||||
mes "[RS26]";
|
||||
mes "My technology can only be found in future cities. I am RS26, a Regenschirm robotic machine.";
|
||||
npctalk "Rebellion : Oh, that machine is useless without a module.","Rebellion#171_cor_merchant",bc_self;
|
||||
next;
|
||||
mes "[RS26]";
|
||||
mes "If you bring Illusion equipment with strengthening modules, I will improve them as you desire.";
|
||||
next;
|
||||
mes "[RS26]";
|
||||
mes "Since these modules work with the standard equipment, they will not destroy the items. However, the number of upgrades can vary depending on the equipment.";
|
||||
next;
|
||||
mes "[RS26]";
|
||||
mes "Please come back if you need my help~";
|
||||
close;
|
||||
case 2:
|
||||
.@part = EQI_ARMOR;
|
||||
.@index = 0;
|
||||
setarray .@id,15376,15377;
|
||||
break;
|
||||
case 3:
|
||||
.@part = EQI_GARMENT;
|
||||
.@index = 1;
|
||||
setarray .@id,20933,20934;
|
||||
break;
|
||||
case 4:
|
||||
.@part = EQI_SHOES;
|
||||
.@index = 3;
|
||||
setarray .@id,22196,22197;
|
||||
break;
|
||||
case 5:
|
||||
.@part = EQI_ACC_R;
|
||||
.@index = 2;
|
||||
setarray .@id,32207,32209;
|
||||
break;
|
||||
case 6:
|
||||
.@part = EQI_ACC_L;
|
||||
.@index = 2;
|
||||
setarray .@id,32208,32210;
|
||||
break;
|
||||
}
|
||||
switch (select("Cancel.:Normal Grade.:Rare Grade.:Unique Grade.:Legendary Grade.")) {
|
||||
case 1:
|
||||
mes "[RS26]";
|
||||
mes "I'm stopping here.";
|
||||
close;
|
||||
|
||||
case 2:
|
||||
.@min = 25670;
|
||||
.@max = 25677;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
.@min = 25678;
|
||||
.@max = 25692;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
.@min = 25693;
|
||||
.@max = 25699;
|
||||
break;
|
||||
|
||||
case 5:
|
||||
.@min = 25700;
|
||||
.@max = 25705;
|
||||
break;
|
||||
}
|
||||
.@menu$ = "Cancel.:";
|
||||
for(.@i = .@min; .@i < (.@max + 1); .@i++){
|
||||
.@module_id[getarraysize(.@module_id)] = .@i;
|
||||
.@item_name$ = getitemname(.@i);
|
||||
.@item_name$ = replacestr(.@item_name$,"Modification Module (","");
|
||||
.@item_name$ = replacestr(.@item_name$,")","");
|
||||
.@menu$ += (!countitem(.@i) ? "^AAAAAA":"") + .@item_name$ + (!countitem(.@i) ? "^000000:":":");
|
||||
}
|
||||
.@s = select(.@menu$);
|
||||
switch( .@s ) {
|
||||
case 1:
|
||||
mes "[RS26]";
|
||||
mes "I'm stopping here.";
|
||||
close;
|
||||
|
||||
default:
|
||||
function module_check;
|
||||
.@s -= 2;
|
||||
.@equip_id = getequipid(.@part);
|
||||
if (!.@equip_id || .@id[0] != .@equip_id && .@id[1] != .@equip_id) {
|
||||
mes "[RS26]";
|
||||
mes "The equipment needs to be checked. That thing is not something this device can work with.";
|
||||
close;
|
||||
}
|
||||
.@var$ = module_check(.@module_id[.@s],.@part,.@index);
|
||||
explode(.@s$,.@var$,",");
|
||||
switch (atoi(.@s$[0])) {
|
||||
case 1:
|
||||
mes "[RS26]";
|
||||
mes "The module needs to be checked. This device cannot detect it.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[RS26]";
|
||||
mes "Looks like the equipment you're trying to strengthen is already at it's limit.";
|
||||
close;
|
||||
case 3:
|
||||
mes "[RS26]";
|
||||
mes "You need to have a module that matches the efficacy to proceed with enhancement.";
|
||||
close;
|
||||
case 4:
|
||||
mes "[RS26]";
|
||||
mes "The capabilities of this module can be enchanted up to " + .@s$[1] + " " + (atoi(.@s$[1]) > 1 ? "times":"time") +". It seems that the module threshold is already at it's limit.";
|
||||
close;
|
||||
case 5:
|
||||
.@item_name$ = getitemname(.@module_id[.@s]);
|
||||
.@item_name$ = replacestr(.@item_name$,"Modification Module (","");
|
||||
.@item_name$ = replacestr(.@item_name$,")","");
|
||||
mes "[RS26]";
|
||||
mes "^0000FFYou have selected " + getitemname(.@equip_id) + " " + .@item_name$ + "^000000";
|
||||
mes "------------------";
|
||||
mes "The selected module can be enchanted up to ^0000FF" + .@s$[2] + " " + (atoi(.@s$[2]) > 1 ? "times":"time") + "^000000 on the equipment. This equipment is currently enchanted with this module by ^0000FF" + .@s$[1] + ".";
|
||||
mes "Do you want to proceed?";
|
||||
next;
|
||||
if (select("I'll think about it more...:Let's proceed.") == 1) {
|
||||
mes "[RS26]";
|
||||
mes "Then, please visit me again when you need my help~";
|
||||
close;
|
||||
}
|
||||
for (.@i = 0; .@i < 4; .@i++)
|
||||
.@card[.@i] = getequipcardid(.@part,.@i);
|
||||
copyarray .@check[0],.@card[0],4;
|
||||
for (.@i = 1; .@i < 4; .@i++) {
|
||||
if (.@card[.@i] == 0) {
|
||||
.@augment_slot = .@i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
.@card[.@augment_slot] = atoi(.@s$[3]);
|
||||
delitem .@module_id[.@s],1;
|
||||
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipRefineHack", .@part, .@refine) || callfunc("F_IsEquipCardHack", .@part, .@check[0], .@check[1], .@check[2], .@check[3]))
|
||||
end;
|
||||
specialeffect2 EF_REPAIRWEAPON;
|
||||
delequip .@part;
|
||||
getitem2 .@equip_id,1,1,.@refine,0,.@card[0],.@card[1],.@card[2],.@card[3];
|
||||
mes "[RS26]";
|
||||
mes "Attempting to upgrade the slot ^990000" + .@augment_slot + "^000000 of the equipment.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
|
||||
OnInit:
|
||||
setarray .module$,
|
||||
"25670:29527:3,25671:29528:3,25687:29534:2,25688:29535:2,25689:29536:2,25693:29540:1",
|
||||
"25670:29527:3,25671:29528:3,25690:29537:2,25691:29538:2,25692:29539:2,25695:29542:1",
|
||||
"25672:4742:3,25673:4752:3,25674:4702:3,25675:4732:3,25676:4712:3,25677:4722:3,25678:29529:2,25679:29532:2,25680:4826:1,25681:4881:1,25682:4866:1,25683:4836:1,25696:29543:1,25697:29544:1,25698:29545:1,25699:29546:1",
|
||||
"25670:29527:3,25671:29528:3,25684:29531:2,25685:29530:2,25686:29533:2,25694:29541:1",
|
||||
"25700:29547,25701:29548,25702:29549,25703:29550,25704:29551,25705:29552";
|
||||
end;
|
||||
|
||||
function module_check {
|
||||
if(!countitem(getarg(0)))
|
||||
return "1";
|
||||
for (.@i = 0; .@i < 4; .@i++)
|
||||
.@card[.@i] = getequipcardid(getarg(1),.@i);
|
||||
if(.@card[3]) return "2";
|
||||
explode(.@T$,.module$[getarg(2)],",");
|
||||
if(getarg(0) >= 25700 && getarg(0) <= 25705){
|
||||
explode(.@TT$,.module$[4],",");
|
||||
for (.@i = 0; .@i < getarraysize(.@TT$); .@i++) {
|
||||
explode(.@module$,.@TT$[.@i],":");
|
||||
if(getarg(0) == atoi(.@module$[0]))
|
||||
.@enchant_id = atoi(.@module$[1]);
|
||||
.@module = atoi(.@module$[0]);
|
||||
.@enchant = atoi(.@module$[1]);
|
||||
for (.@j = 1; .@j < 4; .@j++) {
|
||||
if (.@card[.@j] == .@enchant)
|
||||
return "4,1";
|
||||
}
|
||||
}
|
||||
.@max = 1;
|
||||
} else {
|
||||
for (.@i = 0; .@i < getarraysize(.@T$); .@i++) {
|
||||
explode(.@module$,.@T$[.@i],":");
|
||||
if(getarg(0) == atoi(.@module$[0])){
|
||||
.@enchant_id = atoi(.@module$[1]);
|
||||
.@max = atoi(.@module$[2]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!.@enchant_id)
|
||||
return "3";
|
||||
for (.@j = 1; .@j < 4; .@j++) {
|
||||
if (.@card[.@j] == .@enchant_id)
|
||||
.@count++;
|
||||
}
|
||||
if (.@count == .@max)
|
||||
return "4," + .@max;
|
||||
return "5," + .@count + "," + .@max + "," + .@enchant_id;
|
||||
}
|
||||
}
|
24
npc/re/mobs/dungeons/sp_rudus.txt
Normal file
24
npc/re/mobs/dungeons/sp_rudus.txt
Normal file
@ -0,0 +1,24 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Rudus Dungeon Monster Spawn Script
|
||||
//===== Description: =========================================
|
||||
//= Spawns monsters inside Rudus Dungeon F1-3
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 First version. [crazyarashi]
|
||||
//= 1.1 Some corrections [Everade]
|
||||
//============================================================
|
||||
|
||||
// sp_rudus estimated amount (possibly area spawns)
|
||||
sp_rudus,0,0 monster Venenum 20363,30,5000
|
||||
sp_rudus,0,0 monster Dolor 20361,30,5000
|
||||
sp_rudus,0,0 monster Twin Caput 20365,30,5000
|
||||
|
||||
sp_rudus2,0,0 monster High Hunter Bellare 20356,40,5000
|
||||
sp_rudus2,0,0 monster High Hunter Sanare 20358,37,5000
|
||||
sp_rudus2,0,0 monster Plaga 20359,58,5000
|
||||
sp_rudus2,0,0 monster Mutant Dolor 20362,45,5000
|
||||
sp_rudus2,0,0 boss_monster R48-85-Bestia 20381,1,21600000,600000,0
|
||||
|
||||
sp_rudus3,0,0 monster Mutant Dolor 20362,60,5000
|
||||
sp_rudus3,0,0 monster Mutant Plaga 20360,53,5000
|
||||
sp_rudus3,0,0 monster Mutant Venenum 20364,65,5000
|
||||
sp_rudus3,0,0 monster Mutant Twin Caput 20366,65,5000
|
12
npc/re/mobs/special_border_area.txt
Normal file
12
npc/re/mobs/special_border_area.txt
Normal file
@ -0,0 +1,12 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Special Border Area Monster Spawn Script
|
||||
//===== Description: =========================================
|
||||
//= Spawns monsters around the Special Border Area
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 First version. [crazyarashi]
|
||||
//= 1.1 Several corrections [Everade]
|
||||
//============================================================
|
||||
|
||||
sp_os,0,0 monster Heart Hunter Bellare 20355,112,5000
|
||||
sp_os,0,0 monster Heart Hunter Sanare 20357,108,5000
|
||||
sp_os,0,0 monster Venenum 20363,5,5000
|
@ -3,8 +3,9 @@
|
||||
//===== Description: =========================================
|
||||
//= [Walkthrough Conversion]
|
||||
//--- NPCs quests for Episode 16.2
|
||||
//===== Changelogs: ==========================================
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 First version. [Capuche]
|
||||
//= 1.1 Updated with some iRO NPC names. [Everade]
|
||||
//============================================================
|
||||
|
||||
prt_cas_q,29,28,0 script #ep162_evt_npc_con HIDDEN_WARP_NPC,2,2,{
|
||||
@ -3848,7 +3849,7 @@ OnInit:
|
||||
}
|
||||
|
||||
// Part Elena - Fight
|
||||
rebel_in,70,78,3 script Elena Bolkova#16.2rm 4_F_ELENA,{
|
||||
rebel_in,70,78,3 script Elena Volkova#16.2rm 4_F_ELENA,{
|
||||
if (terra_gloria_main < 16) {
|
||||
cutin "162elena_01.bmp",2;
|
||||
mes "[USU commander Elena]";
|
||||
@ -3901,7 +3902,7 @@ rebel_in,70,78,3 script Elena Bolkova#16.2rm 4_F_ELENA,{
|
||||
mes "[USU commander Elena]";
|
||||
mes "Tell me exactly how you got here and where you came from unless you want to die. ";
|
||||
sleep2 300;
|
||||
npctalk "Elena Bolkova: Otherwise I will have some fun and you won't.", "", bc_self;
|
||||
npctalk "Elena Volkova: Otherwise I will have some fun and you won't.", "", bc_self;
|
||||
next;
|
||||
cutin "",255;
|
||||
mes "[" + strcharinfo(0) + "]";
|
||||
@ -3956,7 +3957,7 @@ rebel_in,70,78,3 script Elena Bolkova#16.2rm 4_F_ELENA,{
|
||||
next;
|
||||
if (select( "Fight Elena.", "I don't listen to someone weaker than me." ) == 1) {
|
||||
mes "[" + strcharinfo(0) + "]";
|
||||
mes "(I have no choice. Let's prepare for the fight and talk to Elena Bolkova again.)";
|
||||
mes "(I have no choice. Let's prepare for the fight and talk to Elena Volkova again.)";
|
||||
setquest 16060; // Fighting is the language of warmonger
|
||||
setquest 16061; // Fair and equitable result
|
||||
close3;
|
||||
@ -3968,7 +3969,7 @@ rebel_in,70,78,3 script Elena Bolkova#16.2rm 4_F_ELENA,{
|
||||
emotion ET_SMILE;
|
||||
mes "[USU commander Elena]";
|
||||
mes "Hmm? I misheard something. Haha, could you repeat it?";
|
||||
npctalk "Elena Bolkova: Well, it should have been some dogs barking.", "", bc_self;
|
||||
npctalk "Elena Volkova: Well, it should have been some dogs barking.", "", bc_self;
|
||||
next;
|
||||
cutin "",255;
|
||||
mes "[" + strcharinfo(0) + "]";
|
||||
@ -4074,7 +4075,7 @@ rebel_in,70,78,3 script Elena Bolkova#16.2rm 4_F_ELENA,{
|
||||
next;
|
||||
mes "[USU commander Elena]";
|
||||
mes "I don't mess with clerics. I don't feel good after fighting them.";
|
||||
npctalk "Elena Bolkova: My mom told me I shouldn't beat a cleric.", "Elena Bolkova#16.2rm"; // 116
|
||||
npctalk "Elena Volkova: My mom told me I shouldn't beat a cleric.", "Elena Volkova#16.2rm"; // 116
|
||||
next;
|
||||
mes "[USU commander Elena]";
|
||||
mes "So I'll support the cooperation with the Secret Wings. Do you need my signature?";
|
||||
@ -4214,7 +4215,7 @@ rebel_in,70,78,3 script Elena Bolkova#16.2rm 4_F_ELENA,{
|
||||
mes "Good. ...... By the way,";
|
||||
mes "If you have time, visit the arena any time.";
|
||||
mes "I will fight you even if you come every day.";
|
||||
npctalk "Elena Bolkova: Make sure you come back here.", "", bc_self;
|
||||
npctalk "Elena Volkova: Make sure you come back here.", "", bc_self;
|
||||
next;
|
||||
mes "[USU commander Elena]";
|
||||
mes "Since you are our cooperator now, go around and see if there is anyone who has any problem.";
|
||||
@ -4583,7 +4584,7 @@ rebel_in,70,78,3 script Elena Bolkova#16.2rm 4_F_ELENA,{
|
||||
mes "[USU commander Elena]";
|
||||
mes "In case you don't get any outcome after talking to them, talk to other fellows.";
|
||||
mes "The mess personnel... and another fellow in the outside store seems to want to say something.";
|
||||
npctalk "Elena Bolkova: Are they it Mason and Milo in Clana Nemieri..?", "", bc_self;
|
||||
npctalk "Elena Volkova: Are they it Mason and Milo in Clana Nemieri..?", "", bc_self;
|
||||
setquest 16012;// Troublesome twin
|
||||
lebedev_quest_16_2 = 1;
|
||||
questinfo_refresh();
|
||||
@ -4605,7 +4606,7 @@ rebel_in,70,78,3 script Elena Bolkova#16.2rm 4_F_ELENA,{
|
||||
next;
|
||||
mes "[USU commander Elena]";
|
||||
mes "If you cannot judge it easily, you can talk to ^0000CDother fellows around them^000000.";
|
||||
npctalk "Elena Bolkova: Seems like Milo and Mason have many things to say.", "", bc_self;
|
||||
npctalk "Elena Volkova: Seems like Milo and Mason have many things to say.", "", bc_self;
|
||||
close3;
|
||||
}
|
||||
if (lebedev_quest_16_2 == 5) {
|
||||
@ -4620,7 +4621,7 @@ rebel_in,70,78,3 script Elena Bolkova#16.2rm 4_F_ELENA,{
|
||||
mes "[USU commander Elena]";
|
||||
mes "...There's someone you should talk to lastly.";
|
||||
mes "I didn't want to do this.";
|
||||
npctalk "Elena Bolkova: I wanted to solve this problem myself if possible.", "", bc_self;
|
||||
npctalk "Elena Volkova: I wanted to solve this problem myself if possible.", "", bc_self;
|
||||
next;
|
||||
mes "[USU commander Elena]";
|
||||
mes "Go downstairs and find ^0000CDEricsson Adler, commander of a detached force^000000. He must be nearby the fireplace.";
|
||||
@ -4641,7 +4642,7 @@ rebel_in,70,78,3 script Elena Bolkova#16.2rm 4_F_ELENA,{
|
||||
next;
|
||||
mes "[USU commander Elena]";
|
||||
mes "He's a former boss of the twins.";
|
||||
npctalk "Elena Bolkova: I didn't want to do this.", "", bc_self;
|
||||
npctalk "Elena Volkova: I didn't want to do this.", "", bc_self;
|
||||
close3;
|
||||
}
|
||||
if (lebedev_quest_16_2 == 7) {
|
||||
@ -4651,7 +4652,7 @@ rebel_in,70,78,3 script Elena Bolkova#16.2rm 4_F_ELENA,{
|
||||
}
|
||||
if (lebedev_quest_16_2 == 8) {
|
||||
cutin "",255;
|
||||
mes "You told Elena Bolkova what Lebedev twins told you.";
|
||||
mes "You told Elena Volkova what Lebedev twins told you.";
|
||||
next;
|
||||
cutin "162elena_01.bmp",2;
|
||||
mes "[USU commander Elena]";
|
||||
@ -4705,7 +4706,7 @@ rebel_in,70,78,3 script Elena Bolkova#16.2rm 4_F_ELENA,{
|
||||
npctalk "Jana Levedeva: Yes!", "Jana Levedeva#16.2rms", bc_self;
|
||||
npctalk "Ilya Lebedev: Yes! Yep!", "Ilya Lebedev#16.2rms", bc_self;
|
||||
next;
|
||||
emotion ET_ANGER, getnpcid(0, "Elena Bolkova#16.2rm");
|
||||
emotion ET_ANGER, getnpcid(0, "Elena Volkova#16.2rm");
|
||||
mes "[USU commander Elena]";
|
||||
mes "Are you insane? You ran away from the unit for a private reason. And you hurt your companion!";
|
||||
next;
|
||||
@ -4732,7 +4733,7 @@ rebel_in,70,78,3 script Elena Bolkova#16.2rm 4_F_ELENA,{
|
||||
mes "[USU commander Elena]";
|
||||
mes "This is totally my fault and my mistake.";
|
||||
mes "I apologize. You had a rough time of it.";
|
||||
npctalk "Elena Bolkova: I sincerely apologize.", "", bc_self;
|
||||
npctalk "Elena Volkova: I sincerely apologize.", "", bc_self;
|
||||
next;
|
||||
cutin "",255;
|
||||
mes "[Lebedev twins]";
|
||||
@ -4775,7 +4776,7 @@ rebel_in,70,78,3 script Elena Bolkova#16.2rm 4_F_ELENA,{
|
||||
mes "[Ilya Lebedev]";
|
||||
mes "Oh... Thank you so much!";
|
||||
mes "And... Sorry.";
|
||||
npctalk "Ilya Lebedev: I'm sorry... Commander Bolkova...", "Ilya Lebedev#16.2rms", bc_self;
|
||||
npctalk "Ilya Lebedev: I'm sorry... Commander Volkova...", "Ilya Lebedev#16.2rms", bc_self;
|
||||
next;
|
||||
mes "[Jana Levedeva]";
|
||||
mes "Thank you, commander...!";
|
||||
@ -4898,7 +4899,7 @@ OnTouch:
|
||||
.base_job = BaseJob;
|
||||
end;
|
||||
OnStart:
|
||||
monster "rebel_in",201,19, "Elena Bolkova",3630,1, "#job_rmA::OnMobDead"; // EP16_2_E_BOLKOBA
|
||||
monster "rebel_in",201,19, "Elena Volkova",3630,1, "#job_rmA::OnMobDead"; // EP16_2_E_BOLKOBA
|
||||
if (.base_job == Job_Priest)
|
||||
setunitdata $@mobid[0], UMOB_HP, 19000;
|
||||
else
|
||||
@ -4925,7 +4926,7 @@ OnTimer4000:
|
||||
npctalk "Milo River: Hel, hello. I am Milo River, the referee of this fight.";
|
||||
end;
|
||||
OnTimer6000:
|
||||
npctalk "Milo River: The fight starts after 10 seconds. If you defeat commander Bolkova in two minutes, you win.";
|
||||
npctalk "Milo River: The fight starts after 10 seconds. If you defeat commander Volkova in two minutes, you win.";
|
||||
end;
|
||||
OnTimer11000:
|
||||
npctalk "Milo River: Five more seconds.";
|
||||
@ -9056,21 +9057,21 @@ rebel_in,91,67,3 script Ericsson Adler#16.2rm 4_MAL_CAPTAIN,{
|
||||
mes "You... You're the adventurer who showed up with the Secret Wings.";
|
||||
mes "What can I do for you?";
|
||||
next;
|
||||
mes "You told him what you heard from Elena Bolkova and asked him for a consultation.";
|
||||
mes "You told him what you heard from Elena Volkova and asked him for a consultation.";
|
||||
next;
|
||||
mes "[Detached Force commander Ericsson]";
|
||||
mes "If it was about the Secret Wings, I would not have mentioned anything. But for that issue, I will help you.";
|
||||
mes "As commander Bolkova said, I brought those kids.";
|
||||
mes "As commander Volkova said, I brought those kids.";
|
||||
next;
|
||||
mes "[Detached Force commander Ericsson]";
|
||||
mes "...I heard what happened to them lately. But I didn't know they were suffering like that.";
|
||||
next;
|
||||
mes "[Detached Force commander Ericsson]";
|
||||
mes "I want to talk to Lebedev twins myself. But it is an arrogation and it will be bad for Commander Bolkova.";
|
||||
mes "Commander Bolkova knows that too. That's why she sent you.";
|
||||
mes "I want to talk to Lebedev twins myself. But it is an arrogation and it will be bad for Commander Volkova.";
|
||||
mes "Commander Volkova knows that too. That's why she sent you.";
|
||||
next;
|
||||
mes "[Detached Force commander Ericsson]";
|
||||
mes "There are some people who do not like commander Bolkova.";
|
||||
mes "There are some people who do not like commander Volkova.";
|
||||
mes "Her unit is USU. The commander didn't manage to take care of her squadders so the squadders talked to their former commander? It's a bad scenario.";
|
||||
next;
|
||||
mes "[Detached Force commander Ericsson]";
|
||||
@ -9595,7 +9596,7 @@ rebel_in,19,48,5 script Mason Bender#16.2rm 4_M_KHMAN,{
|
||||
mes "I am not interested in you and the noisy tourist either.";
|
||||
next;
|
||||
mes "[Mason Bender]";
|
||||
mes "......Phew, a request from commander Bolkova... I have no choice but to answer you. But I can only tell you negative things about those kids.";
|
||||
mes "......Phew, a request from commander Volkova... I have no choice but to answer you. But I can only tell you negative things about those kids.";
|
||||
next;
|
||||
mes "[Mason Bender]";
|
||||
mes "There's nothing they can do properly. Plus, they don't even listen to us.";
|
||||
@ -13818,7 +13819,7 @@ rebel_in,109,54,3 script Jana Levedeva#16.2rm 4_F_ANYA,{
|
||||
npctalk "Ilya Lebedev: Don't listen, Jaja...!!", "Ilya Lebedev#16.2rm", bc_self;
|
||||
next;
|
||||
mes "[" + strcharinfo(0) + "]";
|
||||
mes "(......Looks like a huge mistake. Let's go back to ^0000CDElena Bolkova^000000.)";
|
||||
mes "(......Looks like a huge mistake. Let's go back to ^0000CDElena Volkova^000000.)";
|
||||
}
|
||||
else {
|
||||
mes "[" + strcharinfo(0) + "]";
|
||||
@ -13836,7 +13837,7 @@ rebel_in,109,54,3 script Jana Levedeva#16.2rm 4_F_ANYA,{
|
||||
npctalk "Ilya Lebedev: ......", "Ilya Lebedev#16.2rm", bc_self;
|
||||
next;
|
||||
mes "[" + strcharinfo(0) + "]";
|
||||
mes "(......This is getting difficult. Let's go back to ^0000CDElena Bolkova^000000.)";
|
||||
mes "(......This is getting difficult. Let's go back to ^0000CDElena Volkova^000000.)";
|
||||
}
|
||||
setquest 16015;// The cause of failure is a careless attempt
|
||||
lebedev_quest_16_2 = 5;
|
||||
@ -13897,7 +13898,7 @@ rebel_in,109,54,3 script Jana Levedeva#16.2rm 4_F_ANYA,{
|
||||
next;
|
||||
mes "[" + strcharinfo(0) + "]";
|
||||
mes "As I told you earlier, please think about commander Adler.";
|
||||
mes "He's so worried about you. So am I, and so is commander Bolkova.";
|
||||
mes "He's so worried about you. So am I, and so is commander Volkova.";
|
||||
next;
|
||||
mes "[Jana Levedeva]";
|
||||
mes "We...";
|
||||
@ -13975,7 +13976,7 @@ rebel_in,109,54,3 script Jana Levedeva#16.2rm 4_F_ANYA,{
|
||||
npctalk "Ilya Lebedev: Yes. please.", "Ilya Lebedev#16.2rm", bc_self;
|
||||
npctalk "Jana Levedeva: Yes...", "", bc_self;
|
||||
mes "[" + strcharinfo(0) + "]";
|
||||
mes "(You heard their story. Let's go to ^0000CDElena Bolkova^000000 and tell her.)";
|
||||
mes "(You heard their story. Let's go to ^0000CDElena Volkova^000000 and tell her.)";
|
||||
lebedev_quest_16_2 = 8;
|
||||
delitem 25161,1;// Handmade_cookie2
|
||||
erasequest 16033;// Bring dessert and listen the story
|
||||
|
8952
npc/re/quests/quests_17_1.txt
Normal file
8952
npc/re/quests/quests_17_1.txt
Normal file
File diff suppressed because it is too large
Load Diff
@ -69,6 +69,7 @@ npc: npc/re/instances/BangungotHospital.txt
|
||||
npc: npc/re/instances/BuwayaCave.txt
|
||||
npc: npc/re/instances/CentralLaboratory.txt
|
||||
npc: npc/re/instances/CharlestonCrisis.txt
|
||||
npc: npc/re/instances/CorOperation.txt
|
||||
npc: npc/re/instances/DevilTower.txt
|
||||
npc: npc/re/instances/EclageInterior.txt
|
||||
npc: npc/re/instances/FacewormsNest.txt
|
||||
@ -84,10 +85,13 @@ npc: npc/re/instances/MorseCave.txt
|
||||
npc: npc/re/instances/NightmarishJitterbug.txt
|
||||
npc: npc/re/instances/OctopusCave.txt
|
||||
npc: npc/re/instances/OldGlastHeim.txt
|
||||
npc: npc/re/instances/OsOccupation.txt
|
||||
npc: npc/re/instances/Regenschirm.txt
|
||||
npc: npc/re/instances/RitualOfBlessing.txt
|
||||
npc: npc/re/instances/RoomOfConsciousness.txt
|
||||
npc: npc/re/instances/SarahAndFenrir.txt
|
||||
npc: npc/re/instances/SaraMemory.txt
|
||||
npc: npc/re/instances/SealedOs.txt
|
||||
npc: npc/re/instances/SkyFortress.txt
|
||||
npc: npc/re/instances/TempleOfDemonGod.txt
|
||||
//npc: npc/re/instances/WaveMode.txt
|
||||
@ -116,6 +120,7 @@ npc: npc/re/merchants/coin_exchange.txt
|
||||
npc: npc/re/merchants/Dealer_Update.txt
|
||||
npc: npc/re/merchants/diamond.txt
|
||||
npc: npc/re/merchants/enchan_illusion_16_2.txt
|
||||
npc: npc/re/merchants/enchan_illusion_17_1.txt
|
||||
npc: npc/re/merchants/enchan_ko.txt
|
||||
npc: npc/re/merchants/enchan_mal.txt
|
||||
npc: npc/re/merchants/enchan_mora.txt
|
||||
@ -210,6 +215,7 @@ npc: npc/re/quests/quests_15_2.txt
|
||||
npc: npc/re/quests/quests_16_1.txt
|
||||
npc: npc/re/quests/quests_16_2.txt
|
||||
npc: npc/re/quests/quests_16_2_illusion.txt
|
||||
npc: npc/re/quests/quests_17_1.txt
|
||||
npc: npc/re/quests/quests_aldebaran.txt
|
||||
npc: npc/re/quests/quests_brasilis.txt
|
||||
npc: npc/re/quests/quests_dewata.txt
|
||||
|
@ -6,6 +6,7 @@
|
||||
npc: npc/re/mobs/championmobs.txt
|
||||
npc: npc/re/mobs/int_land.txt
|
||||
npc: npc/re/mobs/prt_cas.txt
|
||||
npc: npc/re/mobs/special_border_area.txt
|
||||
npc: npc/re/mobs/towns.txt
|
||||
npc: npc/re/mobs/verus.txt
|
||||
|
||||
@ -56,6 +57,7 @@ npc: npc/re/mobs/dungeons/prt_sew.txt
|
||||
npc: npc/re/mobs/dungeons/ra_san.txt
|
||||
npc: npc/re/mobs/dungeons/rockridge.txt
|
||||
npc: npc/re/mobs/dungeons/slabw01.txt
|
||||
npc: npc/re/mobs/dungeons/sp_rudus.txt
|
||||
npc: npc/re/mobs/dungeons/teg_dun.txt
|
||||
npc: npc/re/mobs/dungeons/tha_t.txt
|
||||
npc: npc/re/mobs/dungeons/thor_v.txt
|
||||
|
@ -10,6 +10,7 @@ npc: npc/re/warps/cities/dicastes.txt
|
||||
npc: npc/re/warps/cities/eclage.txt
|
||||
npc: npc/re/warps/cities/einbech.txt
|
||||
npc: npc/re/warps/cities/einbroch.txt
|
||||
npc: npc/re/warps/cities/lighthalzen.txt
|
||||
npc: npc/re/warps/cities/izlude.txt
|
||||
npc: npc/re/warps/cities/malangdo.txt
|
||||
npc: npc/re/warps/cities/malaya.txt
|
||||
@ -26,6 +27,7 @@ npc: npc/re/warps/dungeons/harboro2.txt
|
||||
npc: npc/re/warps/dungeons/iz_dun.txt
|
||||
npc: npc/re/warps/dungeons/moc_pryd.txt
|
||||
npc: npc/re/warps/dungeons/rockmi1.txt
|
||||
npc: npc/re/warps/dungeons/sp_rudus.txt
|
||||
npc: npc/re/warps/dungeons/slabw01.txt
|
||||
|
||||
// --------------------------- Fields ---------------------------
|
||||
@ -50,6 +52,7 @@ npc: npc/re/warps/other/jobquests.txt
|
||||
npc: npc/re/warps/other/paradise.txt
|
||||
npc: npc/re/warps/other/s_workshop.txt
|
||||
npc: npc/re/warps/other/sign.txt
|
||||
npc: npc/re/warps/other/special_border_area.txt
|
||||
npc: npc/re/warps/other/un_myst.txt
|
||||
npc: npc/re/warps/other/verus.txt
|
||||
npc: npc/re/warps/guildcastles.txt
|
||||
|
@ -2,8 +2,9 @@
|
||||
//= Einbroch Warp Script
|
||||
//===== Description: =========================================
|
||||
//= Warp Points for Einbroch
|
||||
//===== Changelogs: ==========================================
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 Some warps have been changed in renewal ep16.2 [Capuche]
|
||||
//= 1.1 Episode 17.1 - Illusion update [crazyarashi]
|
||||
//============================================================
|
||||
|
||||
ein_in01,274,246,0 script #ep162_warp01 WARPNPC,1,1,{
|
||||
@ -19,3 +20,11 @@ OnTouch:
|
||||
end;
|
||||
}
|
||||
ein_in01,273,273,0 warp roomB_roomBGate 1,1,ein_in01,274,243
|
||||
|
||||
//============================================================
|
||||
// Episode 17.1 - Illusion
|
||||
//============================================================
|
||||
// Cat on Bullet Pub
|
||||
einbroch,302,331,0 warp ein_to_pub 1,1,pub_cat,49,27
|
||||
pub_cat,44,27,0 warp pub_to_ein 1,1,einbroch,302,326
|
||||
pub_cat,146,105,0 warp backroom_exit 1,1,pub_cat,100,106
|
||||
|
10
npc/re/warps/cities/lighthalzen.txt
Normal file
10
npc/re/warps/cities/lighthalzen.txt
Normal file
@ -0,0 +1,10 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Lighthalzen Warp Script
|
||||
//===== Description: =========================================
|
||||
//= Warp Points for Lighthalzen
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 First Version [crazyarashi]
|
||||
//============================================================
|
||||
|
||||
// Rekenber Research Institute
|
||||
rgsr_in,127,32,0 warp rekenber_to_lhz 1,1,lighthalzen,53,275
|
11
npc/re/warps/dungeons/sp_rudus.txt
Normal file
11
npc/re/warps/dungeons/sp_rudus.txt
Normal file
@ -0,0 +1,11 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Rudus Dungeon Warps Script
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 First version [crazyarashi]
|
||||
//============================================================
|
||||
|
||||
sp_rudus,200,382,0 warp rudus_to_field 1,1,ein_fild05,158,289
|
||||
sp_rudus,180,258,0 warp rudus1_to_rudus2 1,1,sp_rudus2,185,258
|
||||
sp_rudus2,180,258,0 warp rudus2_to_rudus1 1,1,sp_rudus,185,258
|
||||
sp_rudus2,359,206,0 warp rudus2_to_rudus3 1,1,sp_rudus3,366,207
|
||||
sp_rudus3,371,207,0 warp rudus3_to_rudus2 1,1,sp_rudus2,355,206
|
10
npc/re/warps/other/special_border_area.txt
Normal file
10
npc/re/warps/other/special_border_area.txt
Normal file
@ -0,0 +1,10 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Special Border Area warps
|
||||
//===== Description: =========================================
|
||||
//= Warp Points for Episode 17.1
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 First version. [crazyarashi]
|
||||
//============================================================
|
||||
|
||||
sp_cor,162,41,0 warp sp_cor_to_sp_os 1,1,sp_os,260,357
|
||||
sp_os,188,30,0 warp sp_os_exit 1,1,ein_fild03,284,267
|
3
sql-files/upgrades/upgrade_20220328.sql
Normal file
3
sql-files/upgrades/upgrade_20220328.sql
Normal file
@ -0,0 +1,3 @@
|
||||
-- Reset Nameless Island and Geoborg Family Curse quests which were using custom IDs that have been overtaken
|
||||
DELETE FROM `quest` WHERE `quest_id` >= 17000 AND `quest_id` <= 17017;
|
||||
DELETE FROM `quest` WHERE `quest_id` >= 18030 AND `quest_id` <= 18052;
|
@ -899,6 +899,10 @@ enum e_random_item_group {
|
||||
IG_COSTUME_MILE_PACK_26_1,
|
||||
IG_COSTUME_MILE_PACK_26_2,
|
||||
IG_COSTUME_MILE_PACK_26_3,
|
||||
IG_EP17_1_SPC01,
|
||||
IG_EP17_1_SPC02,
|
||||
IG_EP17_1_SPC03,
|
||||
IG_EP17_1_SPC04,
|
||||
|
||||
IG_MAX,
|
||||
};
|
||||
|
@ -6881,6 +6881,33 @@ BUILDIN_FUNC(viewpoint)
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
static int buildin_viewpointmap_sub(block_list *bl, va_list ap) {
|
||||
int oid, type, x, y, id, color;
|
||||
|
||||
oid = va_arg(ap, int);
|
||||
type = va_arg(ap, int);
|
||||
x = va_arg(ap, int);
|
||||
y = va_arg(ap, int);
|
||||
id = va_arg(ap, int);
|
||||
color = va_arg(ap, int);
|
||||
|
||||
clif_viewpoint((map_session_data *)bl, oid, type, x, y, id, color);
|
||||
return 0;
|
||||
}
|
||||
|
||||
BUILDIN_FUNC(viewpointmap) {
|
||||
const char* map = script_getstr(st, 2);
|
||||
int16 mapid = map_mapname2mapid(map);
|
||||
|
||||
if (mapid < 0) {
|
||||
ShowError("buildin_viewpointmap: Unknown map name %s.\n", map);
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
map_foreachinmap(buildin_viewpointmap_sub, mapid, BL_PC, st->oid, script_getnum(st, 3), script_getnum(st, 4), script_getnum(st, 5), script_getnum(st, 6), script_getnum(st, 7));
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set random options for new item
|
||||
* @param st Script state
|
||||
@ -25861,6 +25888,100 @@ BUILDIN_FUNC(openbank){
|
||||
#endif
|
||||
}
|
||||
|
||||
BUILDIN_FUNC(getbaseexp_ratio){
|
||||
struct map_session_data *sd;
|
||||
|
||||
if( !script_charid2sd( 4, sd ) ){
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
int32 percent = script_getnum( st, 2 );
|
||||
|
||||
if( percent < 0 || percent > 100 ){
|
||||
ShowError( "getbaseexp_ratio: percentage is out of range.\n" );
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
int32 base_level;
|
||||
|
||||
if( script_hasdata( st, 3 ) ){
|
||||
base_level = script_getnum( st, 3 );
|
||||
|
||||
if( base_level < 1 ){
|
||||
ShowError( "getbaseexp_ratio: level cannot be below 1.\n" );
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
uint32 max_level = job_db.get_maxBaseLv( sd->status.class_ );
|
||||
|
||||
if( base_level > max_level ){
|
||||
ShowError( "getbaseexp_ratio: level is above maximum base level %u for job %s.\n", max_level, job_name( sd->status.class_ ) );
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
}else{
|
||||
base_level = sd->status.base_level;
|
||||
}
|
||||
|
||||
t_exp class_exp = job_db.get_baseExp( sd->status.class_, base_level );
|
||||
|
||||
if( class_exp <= 0 ){
|
||||
ShowError( "getbaseexp_ratio: No base experience defined for class %s at base level %d.\n", job_name( sd->status.class_ ), base_level );
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
double result = ( class_exp * percent ) / 100.0;
|
||||
|
||||
script_pushint64( st, static_cast<t_exp>( result ) );
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
BUILDIN_FUNC(getjobexp_ratio){
|
||||
struct map_session_data *sd;
|
||||
|
||||
if( !script_charid2sd( 4, sd ) ){
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
int32 percent = script_getnum( st, 2 );
|
||||
|
||||
if( percent < 0 || percent > 100 ){
|
||||
ShowError( "getjobexp_ratio: percentage is out of range.\n" );
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
int32 job_level;
|
||||
|
||||
if( script_hasdata( st, 3 ) ){
|
||||
job_level = script_getnum( st, 3 );
|
||||
|
||||
if( job_level < 1 ){
|
||||
ShowError( "getjobexp_ratio: level cannot be below 1.\n" );
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
uint32 max_level = job_db.get_maxJobLv( sd->status.class_ );
|
||||
|
||||
if( job_level > max_level ){
|
||||
ShowError( "getjobexp_ratio: level is above maximum job level %u for job %s.\n", max_level, job_name( sd->status.class_ ) );
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
}else{
|
||||
job_level = sd->status.job_level;
|
||||
}
|
||||
|
||||
t_exp class_exp = job_db.get_baseExp( sd->status.class_, job_level );
|
||||
|
||||
if( class_exp <= 0 ){
|
||||
ShowError( "getjobexp_ratio: No job experience defined for class %s at job level %d.\n", job_name( sd->status.class_ ), job_level );
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
double result = ( class_exp * percent ) / 100.0;
|
||||
|
||||
script_pushint64( st, static_cast<t_exp>( result ) );
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
#include "../custom/script.inc"
|
||||
|
||||
// declarations that were supposed to be exported from npc_chat.cpp
|
||||
@ -25968,6 +26089,7 @@ struct script_function buildin_func[] = {
|
||||
BUILDIN_DEF2(disableitemuse,"disable_items",""),
|
||||
BUILDIN_DEF(cutin,"si"),
|
||||
BUILDIN_DEF(viewpoint,"iiiii?"),
|
||||
BUILDIN_DEF(viewpointmap, "siiiii"),
|
||||
BUILDIN_DEF(heal,"ii?"),
|
||||
BUILDIN_DEF(healap,"i?"),
|
||||
BUILDIN_DEF(itemheal,"ii?"),
|
||||
@ -26575,6 +26697,8 @@ struct script_function buildin_func[] = {
|
||||
BUILDIN_DEF(randomoptgroup,"i"),
|
||||
BUILDIN_DEF(open_quest_ui, "??"),
|
||||
BUILDIN_DEF(openbank,"?"),
|
||||
BUILDIN_DEF(getbaseexp_ratio, "i??"),
|
||||
BUILDIN_DEF(getjobexp_ratio, "i??"),
|
||||
#include "../custom/script_def.inc"
|
||||
|
||||
{NULL,NULL,NULL},
|
||||
|
@ -39,6 +39,8 @@
|
||||
#define script_lastdata(st) ( (st)->end - (st)->start - 1 )
|
||||
/// Pushes an int into the stack
|
||||
#define script_pushint(st,val) push_val((st)->stack, C_INT, (val))
|
||||
/// Pushes an int64 into the stack
|
||||
#define script_pushint64( st, val ) push_val2( (st)->stack, C_INT, val, nullptr )
|
||||
/// Pushes a string into the stack (script engine frees it automatically)
|
||||
#define script_pushstr(st,val) push_str((st)->stack, C_STR, (val))
|
||||
/// Pushes a copy of a string into the stack
|
||||
@ -1848,6 +1850,47 @@ enum e_special_effects {
|
||||
EF_TIME_ACCESSORY,
|
||||
EF_SPRITEMABLE,
|
||||
EF_TUNAPARTY,
|
||||
EF_FRESHSHRIMP,
|
||||
|
||||
EF_SU_GROOMING = 1123,
|
||||
EF_SU_CHATTERING,
|
||||
|
||||
EF_FIREDANCE = 1133,
|
||||
EF_RICHS_COIN_A,
|
||||
|
||||
EF_E_CHAIN = 1137,
|
||||
EF_HEAT_BARREL,
|
||||
EF_H_MINE,
|
||||
EF_FALLEN_ANGEL,
|
||||
|
||||
EF_IMMUNE_PROPERTY = 1149,
|
||||
EF_MOVE_COORDINATE,
|
||||
|
||||
EF_LIGHTSPHERE_SUN = 1197,
|
||||
EF_LIGHTSPHERE_MOON,
|
||||
EF_LIGHTSPHERE_STAR,
|
||||
|
||||
EF_NOVAEXPLOSING = 1202,
|
||||
EF_STAR_EMPEROR,
|
||||
EF_SMA_BLACK,
|
||||
|
||||
EF_ENERGYDRAIN_BLACK = 1208,
|
||||
EF_BLINK_BODY,
|
||||
|
||||
EF_SOLARBURST = 1218,
|
||||
EF_SJ_DOCUMENT,
|
||||
EF_FALLING_STAR,
|
||||
|
||||
EF_STORMKICK8 = 1223,
|
||||
|
||||
EF_NEWMOON_KICK = 1229,
|
||||
EF_FULLMOON_KICK,
|
||||
EF_BOOK_OF_DIMENSION,
|
||||
|
||||
EF_CURSE_EXPLOSION = 1233,
|
||||
EF_SOUL_REAPER,
|
||||
|
||||
EF_SOUL_EXPLOSION = 1242,
|
||||
EF_MAX
|
||||
};
|
||||
|
||||
|
@ -5661,6 +5661,10 @@
|
||||
export_constant(IG_COSTUME_MILE_PACK_26_1);
|
||||
export_constant(IG_COSTUME_MILE_PACK_26_2);
|
||||
export_constant(IG_COSTUME_MILE_PACK_26_3);
|
||||
export_constant(IG_EP17_1_SPC01);
|
||||
export_constant(IG_EP17_1_SPC02);
|
||||
export_constant(IG_EP17_1_SPC03);
|
||||
export_constant(IG_EP17_1_SPC04);
|
||||
|
||||
/* unit stop walking */
|
||||
export_constant(USW_NONE);
|
||||
@ -8028,6 +8032,35 @@
|
||||
export_constant(EF_TIME_ACCESSORY);
|
||||
export_constant(EF_SPRITEMABLE);
|
||||
export_constant(EF_TUNAPARTY);
|
||||
export_constant(EF_FRESHSHRIMP);
|
||||
export_constant(EF_SU_GROOMING);
|
||||
export_constant(EF_SU_CHATTERING);
|
||||
export_constant(EF_FIREDANCE);
|
||||
export_constant(EF_RICHS_COIN_A);
|
||||
export_constant(EF_E_CHAIN);
|
||||
export_constant(EF_HEAT_BARREL);
|
||||
export_constant(EF_H_MINE);
|
||||
export_constant(EF_FALLEN_ANGEL);
|
||||
export_constant(EF_IMMUNE_PROPERTY);
|
||||
export_constant(EF_MOVE_COORDINATE);
|
||||
export_constant(EF_LIGHTSPHERE_SUN);
|
||||
export_constant(EF_LIGHTSPHERE_MOON);
|
||||
export_constant(EF_LIGHTSPHERE_STAR);
|
||||
export_constant(EF_NOVAEXPLOSING);
|
||||
export_constant(EF_STAR_EMPEROR);
|
||||
export_constant(EF_SMA_BLACK);
|
||||
export_constant(EF_ENERGYDRAIN_BLACK);
|
||||
export_constant(EF_BLINK_BODY);
|
||||
export_constant(EF_SOLARBURST);
|
||||
export_constant(EF_SJ_DOCUMENT);
|
||||
export_constant(EF_FALLING_STAR);
|
||||
export_constant(EF_STORMKICK8);
|
||||
export_constant(EF_NEWMOON_KICK);
|
||||
export_constant(EF_FULLMOON_KICK);
|
||||
export_constant(EF_BOOK_OF_DIMENSION);
|
||||
export_constant(EF_CURSE_EXPLOSION);
|
||||
export_constant(EF_SOUL_REAPER);
|
||||
export_constant(EF_SOUL_EXPLOSION);
|
||||
|
||||
/* hat effects */
|
||||
export_constant(HAT_EF_BLOSSOM_FLUTTERING);
|
||||
|
Loading…
x
Reference in New Issue
Block a user