summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/atcommand.c4
-rw-r--r--src/map/battle.c34
-rw-r--r--src/map/clif.c9
-rw-r--r--src/map/map.c11
-rw-r--r--src/map/packets.h17
-rw-r--r--src/map/pc.c14
-rw-r--r--src/map/script.c3
-rw-r--r--src/map/skill.c13
-rw-r--r--src/map/status.c7
-rw-r--r--src/map/storage.c26
-rw-r--r--src/map/trade.h4
11 files changed, 141 insertions, 1 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 52192ebdc..3d0dfb6a7 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -5242,7 +5242,11 @@ ACMD(storeall)
if (sd->status.inventory[i].amount) {
if(sd->status.inventory[i].equip != 0)
pc->unequipitem(sd, i, 3);
+<<<<<<< HEAD
+ storage_storageadd(sd, i, sd->status.inventory[i].amount);
+=======
storage->add(sd, i, sd->status.inventory[i].amount);
+>>>>>>> upstream/master
}
}
storage->close(sd);
diff --git a/src/map/battle.c b/src/map/battle.c
index 800d573a2..f6695915b 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -753,8 +753,13 @@ int battle_calc_masteryfix(struct block_list *src, struct block_list *target, ui
int ratio = sd->status.base_level + status_get_dex(src) + status_get_luk(src);
if ( i == 2 ) ratio += status_get_str(src); //Star Anger
if (skill < 4 )
+<<<<<<< HEAD
+ ratio /= 12 - 3 * skill;
+ damage += damage * ratio;
+=======
ratio /= (12 - 3 * skill);
damage += damage * ratio / 100;
+>>>>>>> upstream/master
}
if( sc ){
@@ -820,7 +825,11 @@ int battle_calc_elefix(struct block_list *src, struct block_list *target, uint16
{ // Descriptions indicate this means adding a percent of a normal attack in another element. [Skotlex]
damage =
#ifndef RENEWAL
+<<<<<<< HEAD
+ battle->calc_base_damage(sstatus, &sstatus->rhw, sc, tstatus->size, ((TBL_PC*)src), (flag?2:0))
+=======
battle->calc_base_damage(sstatus, &sstatus->rhw, sc, tstatus->size, BL_CAST(BL_PC, src), (flag?2:0))
+>>>>>>> upstream/master
#else
battle->calc_base_damage(src, target, skill_id, skill_lv, nk, n_ele, s_ele, s_ele_, EQI_HAND_R, (flag?2:0)|(sc && sc->data[SC_MAXIMIZEPOWER]?1:0)|(sc && sc->data[SC_WEAPONPERFECT]?8:0), 0)
#endif
@@ -830,7 +839,11 @@ int battle_calc_elefix(struct block_list *src, struct block_list *target, uint16
if( left ){
damage =
#ifndef RENEWAL
+<<<<<<< HEAD
+ battle->calc_base_damage(sstatus, &sstatus->lhw, sc, tstatus->size, ((TBL_PC*)src), (flag?2:0))
+=======
battle->calc_base_damage(sstatus, &sstatus->lhw, sc, tstatus->size, BL_CAST(BL_PC, src), (flag?2:0))
+>>>>>>> upstream/master
#else
battle->calc_base_damage(src, target, skill_id, skill_lv, nk, n_ele, s_ele, s_ele_, EQI_HAND_L, (flag?2:0)|(sc && sc->data[SC_MAXIMIZEPOWER]?1:0)|(sc && sc->data[SC_WEAPONPERFECT]?8:0), 0)
#endif
@@ -4345,11 +4358,23 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list
wd.damage = sstatus->max_hp* 9/100;
wd.damage2 = 0;
break;
+<<<<<<< HEAD
+
+#ifdef RENEWAL
+ case MO_EXTREMITYFIST: // [malufett]
+ wd.damage = battle->calc_base_damage(src, target, skill_id, skill_lv, nk, n_ele, s_ele, s_ele_, EQI_HAND_R, (sc && sc->data[SC_MAXIMIZEPOWER]?1:0)|8, wd.flag);
+ // first value is still not confirm.
+ wd.damage = status_get_sp(src) + 10 * status_get_sp(src) * wd.damage / 100 + 8 * wd.damage;
+ flag.tdef = 1;
+ break;
+ case NJ_ISSEN: // [malufett]
+=======
case NJ_ISSEN: // [malufett]
#ifndef RENEWAL
wd.damage = 40*sstatus->str +skill_lv*(sstatus->hp/10 + 35);
wd.damage2 = 0;
#else
+>>>>>>> upstream/master
{
short totaldef = status_get_total_def(target);
i = 0;
@@ -4363,6 +4388,14 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list
ATK_RATE(50);
flag.idef = 1;
}
+<<<<<<< HEAD
+#else
+
+ wd.damage = 40*sstatus->str +skill_lv*(sstatus->hp/10 + 35);
+ wd.damage2 = 0;
+#endif
+ break;
+=======
break;
case MO_EXTREMITYFIST: // [malufett]
wd.damage = battle->calc_base_damage(src, target, skill_id, skill_lv, nk, n_ele, s_ele, s_ele_, EQI_HAND_R, (sc && sc->data[SC_MAXIMIZEPOWER]?1:0)|8, wd.flag);
@@ -4371,6 +4404,7 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list
flag.tdef = 1;
#endif
break;
+>>>>>>> upstream/master
#ifndef RENEWAL
case LK_SPIRALPIERCE:
case ML_SPIRALPIERCE:
diff --git a/src/map/clif.c b/src/map/clif.c
index 00e395709..4ac123c5a 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -5970,7 +5970,12 @@ void clif_wis_message(int fd, const char* nick, const char* mes, int mes_len)
WFIFOW(fd,0) = 0x97;
WFIFOW(fd,2) = mes_len + NAME_LENGTH + 8;
safestrncpy((char*)WFIFOP(fd,4), nick, NAME_LENGTH);
+<<<<<<< HEAD
+ WFIFOL(fd,28) = 0; // isAdmin; if nonzero, also displays text above char
+ // TODO: WFIFOL(fd,28) = pc->get_group_level(ssd);
+=======
WFIFOL(fd,28) = (ssd && pc->get_group_level(ssd) == 99) ? 1 : 0; // isAdmin; if nonzero, also displays text above char
+>>>>>>> upstream/master
safestrncpy((char*)WFIFOP(fd,32), mes, mes_len);
WFIFOSET(fd,WFIFOW(fd,2));
#endif
@@ -10795,7 +10800,11 @@ void clif_parse_NpcClicked(int fd,struct map_session_data *sd)
#endif
return;
}
+<<<<<<< HEAD
+ if ( pc_cant_act2(sd) || !(bl = iMap->id2bl(RFIFOL(fd,2))) )
+=======
if ( pc_cant_act2(sd) || !(bl = iMap->id2bl(RFIFOL(fd,2))) || sd->state.vending )
+>>>>>>> upstream/master
return;
switch (bl->type) {
diff --git a/src/map/map.c b/src/map/map.c
index fbdb7a9f9..a030515d8 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -5235,9 +5235,13 @@ void map_hp_symbols(void) {
HPM->share(buyingstore,"buyingstore");
HPM->share(clif,"clif");
HPM->share(guild,"guild");
+<<<<<<< HEAD
+ HPM->share(homun,"homun");
+=======
HPM->share(gstorage,"gstorage");
HPM->share(homun,"homun");
HPM->share(iMap,"iMap");
+>>>>>>> upstream/master
HPM->share(ircbot,"ircbot");
HPM->share(itemdb,"itemdb");
HPM->share(logs,"logs");
@@ -5248,8 +5252,12 @@ void map_hp_symbols(void) {
HPM->share(vending,"vending");
HPM->share(pc,"pc");
HPM->share(party,"party");
+<<<<<<< HEAD
+ HPM->share(iMap,"iMap");
+=======
HPM->share(storage,"storage");
HPM->share(trade,"trade");
+>>>>>>> upstream/master
/* partial */
HPM->share(mapit,"mapit");
/* sql link */
@@ -5282,8 +5290,11 @@ void load_defaults(void) {
vending_defaults();
pc_defaults();
party_defaults();
+<<<<<<< HEAD
+=======
storage_defaults();
trade_defaults();
+>>>>>>> upstream/master
}
int do_init(int argc, char *argv[])
{
diff --git a/src/map/packets.h b/src/map/packets.h
index 648e662fa..8e070dd05 100644
--- a/src/map/packets.h
+++ b/src/map/packets.h
@@ -2025,6 +2025,14 @@ packet(0x020d,-1);
packet(0x08E5,41,clif->pPartyBookingRegisterReq,2,4);
packet(0x08d2,10);
packet(0x0916,26,clif->pGuildInvite2,2);
+ packetKeys(0x1540e48,0x13041224,0x31247924);
+
+#endif
+
+#ifndef PACKETVER_RE
+#if PACKETVER >= 20120604
+ packet(0x0861,18,clif->pPartyBookingRegisterReq,2,4,6);
+#endif
#endif
#ifndef PACKETVER_RE
@@ -2066,6 +2074,7 @@ packet(0x020d,-1);
//2012-07-16aRagExe (special thanks to Yommy!)
#if PACKETVER >= 20120716
packet(0x0364,8,clif->pMoveFromKafra,2,4);
+ packetKeys(0x76052205, 0x22052205, 0x22052205);
#endif
//2013-03-20Ragexe (Judas + Yommy)
@@ -2100,6 +2109,7 @@ packet(0x020d,-1);
packet(0x086F,26,clif->pFriendsListAdd,2);
packet(0x093F,5,clif->pHomMenu,2,4);
packet(0x0947,36,clif->pStoragePassword,0);
+ packetKeys(0x3F094C49, 0x55F86C1E, 0x58AA359A);
// Shuffle End
// New Packets
@@ -2245,6 +2255,12 @@ packet(0x020d,-1);
packet(0x0883,36,clif->pStoragePassword,0);
#endif
+<<<<<<< HEAD
+#if PACKETVER >= 20130612
+ packetKeys(0x6D166F66, 0x3C000FCF, 0x295B0FCB); /* Thanks to Shakto */
+#endif
+
+=======
/* PacketKeys: http://hercules.ws/board/topic/1105-hercules-wpe-free-june-14th-patch/ */
#if PACKETVER >= 20110817
packetKeys(0x053D5CED,0x3DED6DED,0x6DED6DED); /* Thanks to Shakto */
@@ -2427,4 +2443,5 @@ packet(0x020d,-1);
#endif
+>>>>>>> upstream/master
#endif /* _PACKETS_H_ */
diff --git a/src/map/pc.c b/src/map/pc.c
index c2d50a7ce..945925c86 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -9751,9 +9751,18 @@ void pc_read_skill_tree(void) {
ARR_FIND( 0, MAX_SKILL_TREE, d, skill_tree[fidx][d].id == 0 );
+<<<<<<< HEAD
+ if(!pcdb_checkid(class_))
+ {
+ ShowWarning("pc_readdb_skilltree: Invalid job class %d specified.\n", class_);
+ return false;
+ }
+ idx = pc->class2idx(class_);
+=======
for( f = 0; f < d; f++ ) {
ARR_FIND( 0, MAX_SKILL_TREE, a, skill_tree[idx][a].id == 0 || skill_tree[idx][a].id == skill_tree[fidx][f].id );
+>>>>>>> upstream/master
if( a == MAX_SKILL_TREE ) {
ShowWarning("pc_read_skill_tree: '%s' can't inherit '%s', skill tree is full!\n", name,iname);
@@ -9902,7 +9911,12 @@ int pc_readdb(void)
count = 0;
// Reset and read skilltree
memset(skill_tree,0,sizeof(skill_tree));
+<<<<<<< HEAD
+ sv->readdb(iMap->db_path, DBPATH"skill_tree.txt", ',', 3+MAX_PC_SKILL_REQUIRE*2, 4+MAX_PC_SKILL_REQUIRE*2, -1, &pc_readdb_skilltree);
+
+=======
pc_read_skill_tree();
+>>>>>>> upstream/master
#if defined(RENEWAL_DROP) || defined(RENEWAL_EXP)
sv->readdb(iMap->db_path, "re/level_penalty.txt", ',', 4, 4, -1, &pc_readdb_levelpenalty);
for( k=1; k < 3; k++ ){ // fill in the blanks
diff --git a/src/map/script.c b/src/map/script.c
index f65c0c21c..4876111ef 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -16310,7 +16310,10 @@ BUILDIN(progressbar)
sd->progressbar.npc_id = st->oid;
sd->progressbar.timeout = iTimer->gettick() + second*1000;
+<<<<<<< HEAD
+=======
sd->state.workinprogress = 3;
+>>>>>>> upstream/master
clif->progressbar(sd, strtol(color, (char **)NULL, 0), second);
return true;
diff --git a/src/map/skill.c b/src/map/skill.c
index aec1ebbfc..1753f435a 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -7971,11 +7971,20 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
for(i = 0; i < SC_MAX; i++)
{
+<<<<<<< HEAD
+ if( SC_COMMON_MAX > i ){
+ if ( !tsc->data[i] || !status_get_sc_type(i) )
+ continue;
+ if ( status_get_sc_type(i)&SC_NO_CLEARANCE )
+ continue;
+ }
+=======
if ( !tsc->data[i] )
continue;
if( SC_COMMON_MAX > i )
if ( status_get_sc_type(i)&SC_NO_CLEARANCE )
continue;
+>>>>>>> upstream/master
switch (i) {
case SC_ASSUMPTIO:
if( bl->type == BL_MOB )
@@ -8556,7 +8565,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case SR_FLASHCOMBO:
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
for(i = SR_FLASHCOMBO_ATK_STEP1; i <= SR_FLASHCOMBO_ATK_STEP4; i++)
+<<<<<<< HEAD
+ skill->addtimerskill(src, tick + 600 * (i - SR_FLASHCOMBO_ATK_STEP1), bl->id, 0, 0, i, skill_lv, BF_WEAPON, flag|SD_LEVEL);
+=======
skill->addtimerskill(src, tick + 500 * (i - SR_FLASHCOMBO_ATK_STEP1), bl->id, 0, 0, i, skill_lv, BF_WEAPON, flag|SD_LEVEL);
+>>>>>>> upstream/master
break;
case WA_SWING_DANCE:
case WA_MOONLIT_SERENADE:
diff --git a/src/map/status.c b/src/map/status.c
index 55b79fff7..a43be5726 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -8329,10 +8329,17 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
break;
case SC_BLOOD_SUCKER:
{
+<<<<<<< HEAD
+ struct block_list *src = iMap->id2bl(sce->val2);
+ val3 = 1;
+ if(src)
+ val3 = 200 + 100 * sce->val1 + status_get_int(src);
+=======
struct block_list *src = iMap->id2bl(val2);
val3 = 1;
if(src)
val3 = 200 + 100 * val1 + status_get_int(src);
+>>>>>>> upstream/master
val4 = tick / 1000;
tick_time = 1000; // [GodLesZ] tick time
}
diff --git a/src/map/storage.c b/src/map/storage.c
index 49cb18cbe..c999ab07b 100644
--- a/src/map/storage.c
+++ b/src/map/storage.c
@@ -253,7 +253,11 @@ int storage_storageget(struct map_session_data* sd, int index, int amount)
return 0;
if( (flag = pc->additem(sd,&sd->status.storage.items[index],amount,LOG_TYPE_STORAGE)) == 0 )
+<<<<<<< HEAD
+ storage_delitem(sd,index,amount);
+=======
storage->delitem(sd,index,amount);
+>>>>>>> upstream/master
else
clif->additem(sd,0,0,flag);
@@ -310,7 +314,11 @@ int storage_storagegettocart(struct map_session_data* sd, int index, int amount)
return 0;
if( pc->cart_additem(sd,&sd->status.storage.items[index],amount,LOG_TYPE_STORAGE) == 0 )
+<<<<<<< HEAD
+ storage_delitem(sd,index,amount);
+=======
storage->delitem(sd,index,amount);
+>>>>>>> upstream/master
return 1;
}
@@ -531,7 +539,11 @@ int storage_guild_storageadd(struct map_session_data* sd, int index, int amount)
return 0;
}
+<<<<<<< HEAD
+ if(guild_storage_additem(sd,stor,&sd->status.inventory[index],amount)==0)
+=======
if(gstorage->additem(sd,stor,&sd->status.inventory[index],amount)==0)
+>>>>>>> upstream/master
pc->delitem(sd,index,amount,0,4,LOG_TYPE_GSTORAGE);
return 1;
@@ -570,7 +582,11 @@ int storage_guild_storageget(struct map_session_data* sd, int index, int amount)
}
if((flag = pc->additem(sd,&stor->items[index],amount,LOG_TYPE_GSTORAGE)) == 0)
+<<<<<<< HEAD
+ guild_storage_delitem(sd,stor,index,amount);
+=======
gstorage->delitem(sd,stor,index,amount);
+>>>>>>> upstream/master
else //inform fail
clif->additem(sd,0,0,flag);
// log_fromstorage(sd, index, 1);
@@ -604,7 +620,11 @@ int storage_guild_storageaddfromcart(struct map_session_data* sd, int index, int
if( amount < 1 || amount > sd->status.cart[index].amount )
return 0;
+<<<<<<< HEAD
+ if(guild_storage_additem(sd,stor,&sd->status.cart[index],amount)==0)
+=======
if(gstorage->additem(sd,stor,&sd->status.cart[index],amount)==0)
+>>>>>>> upstream/master
pc->cart_delitem(sd,index,amount,0,LOG_TYPE_GSTORAGE);
return 1;
@@ -637,7 +657,11 @@ int storage_guild_storagegettocart(struct map_session_data* sd, int index, int a
return 0;
if(pc->cart_additem(sd,&stor->items[index],amount,LOG_TYPE_GSTORAGE)==0)
+<<<<<<< HEAD
+ guild_storage_delitem(sd,stor,index,amount);
+=======
gstorage->delitem(sd,stor,index,amount);
+>>>>>>> upstream/master
return 1;
}
@@ -768,4 +792,4 @@ void gstorage_defaults(void) {
gstorage->pc_quit = storage_guild_storage_quit;
gstorage->save = storage_guild_storagesave;
gstorage->saved = storage_guild_storagesaved;
-} \ No newline at end of file
+}
diff --git a/src/map/trade.h b/src/map/trade.h
index 8bf918ad2..ba56872c2 100644
--- a/src/map/trade.h
+++ b/src/map/trade.h
@@ -20,7 +20,11 @@ struct trade_interface {
} trade_s;
struct trade_interface *trade;
+<<<<<<< HEAD
+void trade_interface(void);
+=======
void trade_defaults(void);
+>>>>>>> upstream/master
#endif /* _TRADE_H_ */