[Release] SineSource fixes

Newbie Spellweaver
Joined
Apr 14, 2008
Messages
24
Reaction score
0
Venom 1 Damage Fix:
go to net -> channel -> handler -> AbstractDealDamagehandler.java

Replace:
PHP:
				ISkill venomNL = SkillFactory.getSkill(4120005);
				ISkill venomShadower = SkillFactory.getSkill(4220005);
				if (player.getSkillLevel(venomNL) > 0) {
					MapleStatEffect venomEffect = venomNL.getEffect(player.getSkillLevel(venomNL));
					for (int i = 0; i < attackCount; i++) {
						if (venomEffect.makeChanceResult() == true) {
							if (monster.getVenomMulti() < 3) {
								monster.setVenomMulti((monster.getVenomMulti()+60));
								MonsterStatusEffect monsterStatusEffect = new MonsterStatusEffect(Collections.singletonMap(MonsterStatus.POISON, 1), venomNL, false);
								monster.applyStatus(player, monsterStatusEffect, false, venomEffect.getDuration());    
							}
						}
					}
				} else if (player.getSkillLevel(venomShadower) > 0) {
					MapleStatEffect venomEffect = venomShadower.getEffect(player.getSkillLevel(venomShadower));
					for (int i = 0; i < attackCount; i++) {
						if (venomEffect.makeChanceResult() == true) {
							if (monster.getVenomMulti() < 3) {
								monster.setVenomMulti((monster.getVenomMulti()+60));
								MonsterStatusEffect monsterStatusEffect = new MonsterStatusEffect(Collections.singletonMap(MonsterStatus.POISON, 1), venomShadower, false);
								monster.applyStatus(player, monsterStatusEffect, false, venomEffect.getDuration(), true);    
							}
						}
					}
				}
with this:
PHP:
				ISkill venomNL = SkillFactory.getSkill(4120005);
				ISkill venomShadower = SkillFactory.getSkill(4220005);
				if (player.getSkillLevel(venomNL) > 0) {
					MapleStatEffect venomEffect = venomNL.getEffect(player.getSkillLevel(venomNL));
					for (int i = 0; i < attackCount; i++) {
						if (venomEffect.makeChanceResult() == true) {
							if (monster.getVenomMulti() < 3) {
								monster.setVenomMulti((monster.getVenomMulti()+1));
								MonsterStatusEffect monsterStatusEffect = new MonsterStatusEffect(Collections.singletonMap(MonsterStatus.POISON, 1), venomNL, false);
								monster.applyStatus(player, monsterStatusEffect, false, venomEffect.getDuration(), true);    
							}
						}
					}
				} else if (player.getSkillLevel(venomShadower) > 0) {
					MapleStatEffect venomEffect = venomNL.getEffect(player.getSkillLevel(venomShadower));
					for (int i = 0; i < attackCount; i++) {
						if (venomEffect.makeChanceResult() == true) {
							if (monster.getVenomMulti() < 3) {
								monster.setVenomMulti((monster.getVenomMulti()+1));
								MonsterStatusEffect monsterStatusEffect = new MonsterStatusEffect(Collections.singletonMap(MonsterStatus.POISON, 1), venomShadower, false);
								monster.applyStatus(player, monsterStatusEffect, false, venomEffect.getDuration(), true);    
							}
						}
					}
				}
then go to server -> life -> MapleMonster.java
Replace
PHP:
        } else if (venom) {
            if (from.getJob() == MapleJob.NIGHTLORD || from.getJob() == MapleJob.SHADOWER) {
                int poisonLevel = 0;
                int matk = 0;
                if (from.getJob() == MapleJob.NIGHTLORD) {
                    poisonLevel = from.getSkillLevel(SkillFactory.getSkill(4120005));
                    if (poisonLevel <= 0) {
                        return false;
                    }
                    matk = SkillFactory.getSkill(4120005).getEffect(poisonLevel).getMatk();
                } else if (from.getJob() == MapleJob.SHADOWER) {
                    poisonLevel = from.getSkillLevel(SkillFactory.getSkill(4220005));
                    if (poisonLevel <= 0) {
                        return false;
                    }
                    matk = SkillFactory.getSkill(4220005).getEffect(poisonLevel).getMatk();
                } else {
                    return false;
                }
                Random r = new Random();
                int luk = from.getLuk();
                int maxDmg = (int) Math.ceil(Math.min(Short.MAX_VALUE, 0.2 * luk * matk));
                int minDmg = (int) Math.ceil(Math.min(Short.MAX_VALUE, 0.1 * luk * matk));
                int gap = maxDmg - minDmg;
                int poisonDamage = 0;
                for (int i = 0; i < getVenomMulti(); i++) {
                    poisonDamage = poisonDamage + (r.nextInt(gap) + minDmg);
                }
                poisonDamage = Math.min(Short.MAX_VALUE, poisonDamage);
                status.setValue(MonsterStatus.POISON, Integer.valueOf(poisonDamage));
                status.setPoisonSchedule(timerManager.register(new PoisonTask(poisonDamage, from, status, cancelTask, false), 1000, 1000));
            } else {
                return false;
            }
with this
PHP:
		} else if (venom) {
			if (from.getJob() == MapleJob.NIGHTLORD || from.getJob() == MapleJob.SHADOWER) {
				int poisonLevel = 0;
				int matk = 0;
				if (from.getJob() == MapleJob.NIGHTLORD) {
					poisonLevel = from.getSkillLevel(SkillFactory.getSkill(4120005));
					matk = SkillFactory.getSkill(4120005).getEffect(poisonLevel).getMatk();
				} else if(from.getJob() == MapleJob.SHADOWER) {
					poisonLevel = from.getSkillLevel(SkillFactory.getSkill(4220005));
					matk = SkillFactory.getSkill(4220005).getEffect(poisonLevel).getMatk();
				} else {
					return false;
				}
				Random r = new Random();
				int luk = from.getLuk();
				int maxDmg = (int)Math.ceil(Math.min(Short.MAX_VALUE, 0.2 * luk * matk));
				int minDmg = (int)Math.ceil(Math.min(Short.MAX_VALUE, 0.1 * luk * matk));
				int gap = maxDmg - minDmg;
				int poisonDamage = 0;
				for (int i = 0; i < getVenomMulti(); i++) {
					poisonDamage = poisonDamage + (r.nextInt(gap) + minDmg);
				}
				poisonDamage = Math.min(Short.MAX_VALUE, poisonDamage);
				status.setValue(MonsterStatus.POISON, Integer.valueOf(poisonDamage));
				status.setPoisonSchedule(timerManager.register(new PoisonTask(poisonDamage, from, status, cancelTask, false), 1000, 1000));
			} else {
				return false;
			}

Papulatus and Pianus Monster spawn fix:
go to server -> life -> MobSkill.java

Replace everything with this
PHP:
package net.sf.odinms.server.life;

import java.awt.Point;
import java.awt.Rectangle;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import net.sf.odinms.client.MapleCharacter;
import net.sf.odinms.client.MapleDisease;
import net.sf.odinms.client.status.MonsterStatus;
import net.sf.odinms.server.maps.MapleMapObject;
import net.sf.odinms.server.maps.MapleMapObjectType;

/**
 *
 * @author Danny (Leifde)
 */
public class MobSkill {
	
	private int skillId;
	private int skillLevel;
	private int mpCon;
        private MapleDisease diseaseType;
	private List<Integer> toSummon = new ArrayList<Integer>();
	private int spawnEffect;
	private int hp;
	private int x;
	private int y;
	private long duration;
	private long cooltime;
	private float prop;
	private Point lt, rb;
	private int limit;
	
	public MobSkill(int skillId, int level) {
		this.skillId = skillId;
		this.skillLevel = level;
	}
	
	public void setMpCon(int mpCon) {
		this.mpCon = mpCon;
	}
        
    public void setDiseaseType(MapleDisease diseaseType) {
        this.diseaseType = diseaseType;
    }
	
	public void addSummons(List<Integer> toSummon) {
		for (Integer summon : toSummon) {
			this.toSummon.add(summon);
		}
	}
	
	public void setSpawnEffect(int spawnEffect) {
		this.spawnEffect = spawnEffect;
	}
	
	public void setHp(int hp) {
		this.hp = hp;
	}
	
	public void setX(int x) {
		this.x = x;
	}
	
	public void setY(int y) {
		this.y = y;
	}
	
	public void setDuration(long duration) {
		this.duration = duration;
	}
	
	public void setCoolTime(long cooltime) {
		this.cooltime = cooltime;
	}
	
	public void setProp(float prop) {
		this.prop = prop;
	}
	
	public void setLtRb(Point lt, Point rb) {
		this.lt = lt;
		this.rb = rb;
	}
	
	public void setLimit(int limit) {
		this.limit = limit;
	}
	
	public void applyEffect(MapleCharacter player, MapleMonster monster, boolean skill) {
		MonsterStatus monStat = null;
		MapleDisease disease = null;
		boolean heal = false;
		boolean dispel = false;
		switch (skillId) {
			case 100:
			case 110:
				monStat = MonsterStatus.WEAPON_ATTACK_UP;
				break;
			case 101:
			case 111:
				monStat = MonsterStatus.MAGIC_ATTACK_UP;
				break;
			case 102:
			case 112:
				monStat = MonsterStatus.WEAPON_DEFENSE_UP;
				break;
			case 103:
			case 113:
				monStat = MonsterStatus.MAGIC_DEFENSE_UP;
				break;
			case 114: // Heal
				heal = true;
				break;
			case 120:
				disease = MapleDisease.SEAL;
				break;
			case 121:
				disease = MapleDisease.DARKNESS;
				break;
			case 122:
				disease = MapleDisease.WEAKEN;
				break;
			case 123:
				disease = MapleDisease.STUN;
				break;
			case 124: // Curse
				// TODO
				break;
			case 125:
				disease = MapleDisease.POISON;
				break;
			case 126: // Slow
				disease = MapleDisease.SLOW;
				break;
			case 127:
				dispel = true;
				break;
			case 128: // Seduce
				disease = MapleDisease.SEDUCE;
				break;
			case 129: // Banish?
				// TODO
				break;
			case 140:
				monStat = MonsterStatus.WEAPON_IMMUNITY;
				break;
			case 141:
				monStat = MonsterStatus.MAGIC_IMMUNITY;
				break;
			case 200:
			    if (monster.getMap().getSpawnedMonstersOnMap() < 80) {
				for (Integer mobId : getSummons()) {
					MapleMonster toSpawn = MapleLifeFactory.getMonster(mobId);
                                        toSpawn.setPosition(monster.getPosition());
                                        int ypos, xpos;
                                        xpos = (int)monster.getPosition().getX();
                                        ypos = (int)monster.getPosition().getY();
                                        
                                        switch (mobId)
                                        {
                                          case 8500003: //Pap bomb high
                                            toSpawn.setFh((int)Math.ceil(Math.random() * 19.0));
                                            ypos = -590;
                                          case 8500004: //Pap bomb
                                            //Spawn between -500 and 500 from the monsters X position
                                            xpos = (int)(monster.getPosition().getX() + Math.ceil(Math.random() * 1000.0) - 500);
                                            if (ypos != -590)
                                              ypos = (int)monster.getPosition().getY();
                                          break;
                                          
                                          case 8510100: //Pianus bomb
                                            if (Math.ceil(Math.random() * 5) == 1)
                                            {
                                              ypos = 78;
                                              xpos = (int)(0 + Math.ceil(Math.random() * 5)) + ((Math.ceil(Math.random() * 2) == 1) ? 180 : 0);
                                            }
                                            else
                                              xpos = (int)(monster.getPosition().getX() + Math.ceil(Math.random() * 1000.0) - 500);
                                          break;
                                        }
                                        
                                        //Get spawn coordinates (This fixes monster lock)
                                        //TODO get map left and right wall. Any suggestions? PM TheRamon
                                        
                                        switch (monster.getMap().getId())
                                        {
                                          case 220080001: //Pap map
                                            if (xpos < -890)
                                              xpos = (int)(-890 + Math.ceil(Math.random() * 150));
                                            else if (xpos > 230)
                                              xpos = (int)(230 - Math.ceil(Math.random() * 150));
                                          break;
                                          
                                          case 230040420: //Pianus map
                                            if (xpos < -239)
                                              xpos = (int)(-239 + Math.ceil(Math.random() * 150));
                                            else if (xpos > 371)
                                              xpos = (int)(371 - Math.ceil(Math.random() * 150));
                                          break;
                                        }
                                        
                                        toSpawn.setPosition(new Point(xpos, ypos));
					monster.getMap().spawnMonsterWithEffect(toSpawn, getSpawnEffect(), toSpawn.getPosition());
				}
			    }
			    break;
		}
		
		if (monStat != null || heal) {
			if (lt != null && rb != null && skill) {
				List<MapleMapObject> objects = getObjectsInRange(monster, MapleMapObjectType.MONSTER);
				if (heal) {
					for (MapleMapObject mons : objects) {
						((MapleMonster) mons).heal(getX(), getY());
					}
				} else {
					for (MapleMapObject mons : objects) {
						((MapleMonster) mons).applyMonsterBuff(monStat, getX(), getSkillId(), getDuration(), this);
					}
				}
			} else {
				if (heal) {
					monster.heal(getX(), getY());
				} else {
				    monster.applyMonsterBuff(monStat, getX(), getSkillId(), getDuration(), this);
				}
			}
		}
		
		if (disease != null || dispel) {
			if (lt != null && rb != null && skill) {
				List<MapleMapObject> objects = getObjectsInRange(monster, MapleMapObjectType.PLAYER);
				if (dispel) {
					for (MapleMapObject chr : objects) {
						((MapleCharacter) chr).dispel();
					}
				} else {
					for (MapleMapObject chr : objects) {
						((MapleCharacter) chr).giveDebuff(disease, this);
					}
				}
			} else {
				if (dispel) {
					player.dispel();
				} else {
					player.giveDebuff(disease, this);
				}
			}
		}
		
		monster.usedSkill(skillId, skillLevel, cooltime);
		monster.setMp(monster.getMp() - getMpCon());
	}
	
	public int getSkillId() {
		return skillId;
	}
	
	public int getSkillLevel() {
		return skillLevel;
	}
	
	public int getMpCon() {
		return mpCon;
	}
	
	public List<Integer> getSummons() {
		return Collections.unmodifiableList(toSummon);
	}
	
	public int getSpawnEffect() {
		return spawnEffect;
	}
	
	public int getHP() {
		return hp;
	}
	
	public int getX() {
		return x;
	}
	
	public int getY() {
		return y;
	}
	
	public long getDuration() {
		return duration;
	}
	
	public long getCoolTime() {
		return cooltime;
	}
	
	public Point getLt() {
		return lt;
	}
	
	public Point getRb() {
		return rb;
	}
	
	public int getLimit() {
		return limit;
	}
	
	public boolean makeChanceResult() {
		return prop == 1.0 || Math.random() < prop;
	}
	
	private Rectangle calculateBoundingBox(Point posFrom, boolean facingLeft) {
		Point mylt;
		Point myrb;
		if (facingLeft) {
			mylt = new Point(lt.x + posFrom.x, lt.y + posFrom.y);
			myrb = new Point(rb.x + posFrom.x, rb.y + posFrom.y);
		} else {
			myrb = new Point(lt.x * -1 + posFrom.x, rb.y + posFrom.y);
			mylt = new Point(rb.x * -1 + posFrom.x, lt.y + posFrom.y);
		}
		Rectangle bounds = new Rectangle(mylt.x, mylt.y, myrb.x - mylt.x, myrb.y - mylt.y);
		return bounds;
	}
	
	private List<MapleMapObject> getObjectsInRange(MapleMonster monster, MapleMapObjectType objectType) {
		Rectangle bounds = calculateBoundingBox(monster.getPosition(), monster.isFacingLeft());
		List<MapleMapObjectType> objectTypes = new ArrayList<MapleMapObjectType>();
		objectTypes.add(objectType);
		return monster.getMap().getMapObjectsInBox(bounds, objectTypes);
	}
}

Monster Skills (stun, low accuracy, can't jump, can't move...)
goto server -> life -> MobAttackInfoFactory.java
Replace everything with this
PHP:
package net.sf.odinms.server.life;

import java.io.File;
import java.util.HashMap;
import java.util.Map;
import net.sf.odinms.provider.MapleData;
import net.sf.odinms.provider.MapleDataProvider;
import net.sf.odinms.provider.MapleDataProviderFactory;
import net.sf.odinms.provider.MapleDataTool;
import net.sf.odinms.tools.Pair;
import net.sf.odinms.tools.StringUtil;

/**
 *
 * @author Danny (Leifde)
 */
public class MobAttackInfoFactory {
	
	private static Map<Pair<Integer, Integer>, MobAttackInfo> mobAttacks = new HashMap<Pair<Integer, Integer>, MobAttackInfo>();
	private static MapleDataProvider dataSource = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("net.sf.odinms.wzpath") + "/Mob.wz"));
	
	public static MobAttackInfo getMobAttackInfo(MapleMonster mob, int attack) {
		MobAttackInfo ret = mobAttacks.get(new Pair<Integer, Integer>(Integer.valueOf(mob.getId()), Integer.valueOf(attack)));
		if (ret != null) {
			return ret;
		}
		synchronized (mobAttacks) {
			// see if someone else that's also synchronized has loaded the skill by now
			ret = mobAttacks.get(new Pair<Integer, Integer>(Integer.valueOf(mob.getId()), Integer.valueOf(attack)));
			if (ret == null) {
				MapleData mobData = dataSource.getData(StringUtil.getLeftPaddedStr(Integer.toString(mob.getId()) + ".img", '0', 11));
				if (mobData != null) {
                                        MapleData infoData = mobData.getChildByPath("info");
                                        String linkedmob = MapleDataTool.getString("link", mobData, "");
                                        if(!linkedmob.equals("")) {
                                            mobData = dataSource.getData(StringUtil.getLeftPaddedStr(linkedmob + ".img", '0', 11));
                                        }
                                        
					MapleData attackData = mobData.getChildByPath("attack" + (attack + 1) + "/info");
					if (attackData != null) {
						MapleData deadlyAttack = attackData.getChildByPath("deadlyAttack");
						int mpBurn = MapleDataTool.getInt("mpBurn", attackData, 0);
						int disease = MapleDataTool.getInt("disease", attackData, 0);
						int level = MapleDataTool.getInt("level", attackData, 0);
						int mpCon = MapleDataTool.getInt("conMP", attackData, 0);
						ret = new MobAttackInfo(mob.getId(), attack);
						ret.setDeadlyAttack(deadlyAttack != null);
						ret.setMpBurn(mpBurn);
						ret.setDiseaseSkill(disease);
						ret.setDiseaseLevel(level);
						ret.setMpCon(mpCon);
					}
				}
				mobAttacks.put(new Pair<Integer, Integer>(Integer.valueOf(mob.getId()), Integer.valueOf(attack)), ret);
			}
			return ret;
		}
	}
}
 
Awesome , thank you :)...

I was looking for the venom fix :)

EDIT:

First post xD... I think that a .patch would be useful to see what did you change :)
 
i compiled and got erros

81

EDIT:
Code:
Compiling 4 source files to E:\odinms\build\classes
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:669: illegal start of type
    } else if (status.getSkill().getId() == 4111003) { // shadow web		
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:669: ';' expected
    } else if (status.getSkill().getId() == 4111003) { // shadow web		
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:669: illegal start of type
    } else if (status.getSkill().getId() == 4111003) { // shadow web		
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:669: ';' expected
    } else if (status.getSkill().getId() == 4111003) { // shadow web		
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:669: invalid method declaration; return type required
    } else if (status.getSkill().getId() == 4111003) { // shadow web		
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:669: ';' expected
    } else if (status.getSkill().getId() == 4111003) { // shadow web		
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:675: illegal start of type
        for (MonsterStatus stat : status.getStati().keySet()) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:675: ')' expected
        for (MonsterStatus stat : status.getStati().keySet()) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:675: <identifier> expected
        for (MonsterStatus stat : status.getStati().keySet()) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:675: ';' expected
        for (MonsterStatus stat : status.getStati().keySet()) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:678: <identifier> expected
        activeEffects.add(status);
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:678: <identifier> expected
        activeEffects.add(status);
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:682: <identifier> expected
        map.broadcastMessage(packet, getPosition());
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:682: <identifier> expected
        map.broadcastMessage(packet, getPosition());
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:682: <identifier> expected
        map.broadcastMessage(packet, getPosition());
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:682: ';' expected
        map.broadcastMessage(packet, getPosition());
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:682: illegal start of type
        map.broadcastMessage(packet, getPosition());
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:682: <identifier> expected
        map.broadcastMessage(packet, getPosition());
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:682: ';' expected
        map.broadcastMessage(packet, getPosition());
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:683: illegal start of type
        if (getController() != null && !getController().isMapObjectVisible(this)) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:683: ';' expected
        if (getController() != null && !getController().isMapObjectVisible(this)) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:687: <identifier> expected
        status.setCancelTask(schedule);
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:687: <identifier> expected
        status.setCancelTask(schedule);
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:688: illegal start of type
        return true;
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:688: ';' expected
        return true;
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:691: class, interface, or enum expected
    public void applyMonsterBuff(final MonsterStatus status, final int x, int skillId, long duration, MobSkill skill) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:691: class, interface, or enum expected
    public void applyMonsterBuff(final MonsterStatus status, final int x, int skillId, long duration, MobSkill skill) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:691: class, interface, or enum expected
    public void applyMonsterBuff(final MonsterStatus status, final int x, int skillId, long duration, MobSkill skill) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:693: class, interface, or enum expected
        final Runnable cancelTask = new Runnable() {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:696: class, interface, or enum expected
            public void run() {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:699: class, interface, or enum expected
                    map.broadcastMessage(packet, getPosition());
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:700: class, interface, or enum expected
                    if (getController() != null && !getController().isMapObjectVisible(MapleMonster.this)) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:702: class, interface, or enum expected
                    }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:704: class, interface, or enum expected
                }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:707: class, interface, or enum expected
        MaplePacket packet = MaplePacketCreator.applyMonsterStatus(getObjectId(), Collections.singletonMap(status, x), skillId, true, 0, skill);
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:708: class, interface, or enum expected
        map.broadcastMessage(packet, getPosition());
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:709: class, interface, or enum expected
        if (getController() != null && !getController().isMapObjectVisible(this)) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:711: class, interface, or enum expected
        }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:713: class, interface, or enum expected
        addMonsterBuff(status);
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:714: class, interface, or enum expected
    }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:716: class, interface, or enum expected
    public void addMonsterBuff(MonsterStatus status) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:718: class, interface, or enum expected
    }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:720: class, interface, or enum expected
    public void removeMonsterBuff(MonsterStatus status) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:722: class, interface, or enum expected
    }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:724: class, interface, or enum expected
    public boolean isBuffed(MonsterStatus status) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:726: class, interface, or enum expected
    }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:728: class, interface, or enum expected
    public void setFake(boolean fake) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:730: class, interface, or enum expected
    }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:732: class, interface, or enum expected
    public boolean isFake() {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:734: class, interface, or enum expected
    }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:773: class, interface, or enum expected
    public String getName() {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:775: class, interface, or enum expected
    }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1059: class, interface, or enum expected
    public boolean canUseSkill(MobSkill toUse) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1062: class, interface, or enum expected
        }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1066: class, interface, or enum expected
            }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1071: class, interface, or enum expected
                if (times >= toUse.getLimit()) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1073: class, interface, or enum expected
                }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1078: class, interface, or enum expected
            int i = 0;
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1079: class, interface, or enum expected
            for (MapleMapObject mo : mmo) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1082: class, interface, or enum expected
                }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1086: class, interface, or enum expected
            }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1089: class, interface, or enum expected
    }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1091: class, interface, or enum expected
    public void usedSkill(final int skillId, final int level, long cooltime) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1091: class, interface, or enum expected
    public void usedSkill(final int skillId, final int level, long cooltime) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1091: class, interface, or enum expected
    public void usedSkill(final int skillId, final int level, long cooltime) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1093: class, interface, or enum expected
        if (this.skillsUsed.containsKey(new Pair<Integer, Integer>(skillId, level))) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1095: class, interface, or enum expected
            this.skillsUsed.remove(new Pair<Integer, Integer>(skillId, level));
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1096: class, interface, or enum expected
            this.skillsUsed.put(new Pair<Integer, Integer>(skillId, level), times);
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1097: class, interface, or enum expected
        } else {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1099: class, interface, or enum expected
        }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1100: class, interface, or enum expected
        final MapleMonster mons = this;
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1101: class, interface, or enum expected
        TimerManager tMan = TimerManager.getInstance();
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1102: class, interface, or enum expected
        tMan.schedule(
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1106: class, interface, or enum expected
                    public void run() {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1108: class, interface, or enum expected
                    }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1110: class, interface, or enum expected
    }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1112: class, interface, or enum expected
    public void clearSkill(int skillId, int level) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1114: class, interface, or enum expected
        for (Pair<Integer, Integer> skill : usedSkills) {
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1117: class, interface, or enum expected
                break;
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1118: class, interface, or enum expected
            }
C:\Users\Joseph\Desktop\v3n0m's Repack v.02\v3n0ms Source v.02\src\net\sf\odinms\server\life\MapleMonster.java:1122: class, interface, or enum expected
        }
81 errors
BUILD FAILED (total time: 0 seconds)
 
This doesnt compile for Sinesource 50+

Change
skill.applyEffect(player, attacker); to
Code:
skill.applyEffect(player, attacker, true);

Change
skillData.applyEffect(c.getPlayer(), monster); to
Code:
skillData.applyEffect(c.getPlayer(), monster, true);

Add to MapleMap.java Near the bottom
Code:
     public int getSpawnedMonstersOnMap() {
	return spawnedMonstersOnMap.get();
    }



:thumbup:
 
This doesnt compile for Sinesource 50+

Change
skill.applyEffect(player, attacker); to
Code:
skill.applyEffect(player, attacker, true);

Change
skillData.applyEffect(c.getPlayer(), monster); to
Code:
skillData.applyEffect(c.getPlayer(), monster, true);

Add to MapleMap.java Near the bottom
Code:
     public int getSpawnedMonstersOnMap() {
	return spawnedMonstersOnMap.get();
    }



:thumbup:
Lol just copying what i posted on the other thread :)
 
Oh really? sorry didnt actually see that reply.
But you did leave one thing out.
I actually just compared The code He typed and the one in Flowsion V60. To Find the Fixes While compiling Thought Id share.

Just trying to help The sinesource Project cause Id hate to see it vanish.
 
Oh really? sorry didnt actually see that reply.
But you did leave one thing out.
I actually just compared The code He typed and the one in Flowsion V60. To Find the Fixes While compiling Thought Id share.

Just trying to help The sinesource Project cause Id hate to see it vanish.
Oh right.
 
Back