From: Miguel A. B. L. <ari...@us...> - 2005-11-12 00:19:12
|
Update of /cvsroot/arianne/stendhal/src/games/stendhal/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22078/src/games/stendhal/server Modified Files: StendhalRPAction.java StendhalRPRuleProcessor.java Log Message: Added Quest System. Changed combat system. VERY Experimental Index: StendhalRPAction.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/StendhalRPAction.java,v retrieving revision 1.63 retrieving revision 1.64 diff -C2 -d -r1.63 -r1.64 *** StendhalRPAction.java 1 Nov 2005 11:24:10 -0000 1.63 --- StendhalRPAction.java 12 Nov 2005 00:19:03 -0000 1.64 *************** *** 67,90 **** if(source.nextto(target,1)) { - boolean criticalSuccess=false; - boolean criticalFailure=false; - int roll=Rand.roll1D20(); int risk=0; ! if(roll>18) // Critical success ! { ! risk=1; ! criticalSuccess=true; ! } ! else if(roll<2) // Critical failure ! { ! risk=0; ! criticalFailure=true; ! } ! else ! { ! risk=source.getATK()-target.getDEF()+roll-10; ! } logger.debug("attack from "+source+" to "+target+": Risk to strike: "+risk); --- 67,74 ---- if(source.nextto(target,1)) { int roll=Rand.roll1D20(); int risk=0; ! risk=2*source.getATK()-target.getDEF()+roll-10; logger.debug("attack from "+source+" to "+target+": Risk to strike: "+risk); *************** *** 93,97 **** int damage=0; ! if ((target instanceof SpeakerNPC)==false) { // disabled attack xp for attacking NPC's --- 77,81 ---- int damage=0; ! if((target instanceof SpeakerNPC)==false) { // disabled attack xp for attacking NPC's *************** *** 107,142 **** int armor=0; ! if(!criticalFailure) { ! if(source.hasWeapon()) ! { ! weapon=source.getWeapon().getAttack(); ! } ! ! for(int i=0;i<source.getATK()+weapon;i++) ! { ! damage+=Rand.roll1D6(); ! } } ! ! if(!criticalSuccess) { ! if(target.hasShield()) ! { ! shield=target.getShield().getDefense(); ! } ! ! if(target.hasArmor()) ! { ! armor=target.getArmor().getDefense(); ! } } ! ! for(int i=0;i<target.getDEF()+shield+armor*2;i++) { ! damage-=Rand.roll1D6(); } ! damage=damage>>2; if(damage>0) // Hit --- 91,115 ---- int armor=0; ! if(source.hasWeapon()) { ! weapon=source.getWeapon().getAttack(); } ! ! float maxDamage=(float)source.getATK()+4.0f*(float)weapon; ! float attackerComponent=0.8f*(float)Rand.roll1D100()/100.0f*(float)source.getATK()+4.0f*(float)weapon; ! ! if(target.hasShield()) { ! shield=target.getShield().getDefense(); } ! ! if(target.hasArmor()) { ! armor=target.getArmor().getDefense(); } + + float defenderComponent=0.6f*(float)Rand.roll1D100()/100.0f*(float)target.getDEF()+1.5f*(float)shield+2.0f*(float)armor; ! damage=(int)(((attackerComponent-defenderComponent)/maxDamage)*(maxDamage/10.0f)); if(damage>0) // Hit Index: StendhalRPRuleProcessor.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/StendhalRPRuleProcessor.java,v retrieving revision 1.118 retrieving revision 1.119 diff -C2 -d -r1.118 -r1.119 *** StendhalRPRuleProcessor.java 1 Nov 2005 11:24:10 -0000 1.118 --- StendhalRPRuleProcessor.java 12 Nov 2005 00:19:03 -0000 1.119 *************** *** 120,124 **** Behaviours.initialize(rpman,this,world); Path.initialize(world); ! NPC.setRPContext(this, this.world); --- 120,124 ---- Behaviours.initialize(rpman,this,world); Path.initialize(world); ! NPC.setRPContext(this, this.world); *************** *** 130,133 **** --- 130,136 ---- foodItems.addAll(szone.getFoodItemList()); } + + /* Initialize quests*/ + StendhalQuestSystem quests=new StendhalQuestSystem(this.world,this); } catch(Exception e) |