1
0
mirror of https://github.com/Rogiel/l2jserver2 synced 2025-12-07 16:03:10 +00:00

Open map implemented

Signed-off-by: Rogiel <rogiel@rogiel.com>
This commit is contained in:
2011-05-22 13:21:08 -03:00
parent 87ce7bb987
commit 0661b41cfd
31 changed files with 649 additions and 111 deletions

View File

@@ -36,4 +36,6 @@ public class WolfMonsterTemplate extends MonsterNPCTemplate {
this.collisionRadius = 13.00;
this.collisionHeight = 9.00;
}
}

View File

@@ -19,6 +19,9 @@ package script.template.actor.npc;
import com.google.inject.Inject;
import com.l2jserver.model.id.template.provider.NPCTemplateIDProvider;
import com.l2jserver.model.template.npc.TeleporterNPCTemplate;
import com.l2jserver.util.exception.L2Exception;
import com.l2jserver.util.html.markup.HtmlTemplate;
import com.l2jserver.util.html.markup.MarkupTag;
/**
* @author <a href="http://www.rogiel.com">Rogiel</a>
@@ -48,6 +51,57 @@ public class RoxxyGatekeeperTemplate extends TeleporterNPCTemplate {
addLocation("Talking Island, Northern Territor",
TALKING_ISLAND_NORTHERN_TERRITORY, 1000);
addLocation("Obelisk of Victory", OBELISK_OF_VICTORY, 470);
}
@Override
protected HtmlTemplate getChat(String name) throws L2Exception {
if (name.equals("")) {
return new HtmlTemplate() {
@Override
protected void build(MarkupTag body) {
body.text(
"Welcome! I am Gatekeeper Roxxy, dispatched from the Ivory Tower. "
+ "I'm very happy to return to my hometown. Have you perhaps been to "
+ "Einhovant's School of Magic? Grand Magister Gallint was my old "
+ "teacher. Now then, how can I help you?")
.br();
body.addLink("Ask about the airship wharf.",
"npc_${npcid}_Chat airship").br();
body.addLink("Ask about the Ivory Tower.",
"npc_${npcid}_Chat ivory").br();
body.addLink("Teleport", "npc_${npcid}_Chat teleport").br();
body.addLink("Exchange Dimension Diamonds. (TODO)",
"npc_${npcid}_multisell 002").br();
body.addLink("Noblesse Exclusive Teleport",
"npc_${npcid}_Quest 2000_NoblesseTeleport").br();
body.addLink("Receive your Birthday Gift! (TODO)",
"npc_${npcid}_Quest CharacterBirthday").br();
body.addLink("Quest", "npc_${npcid}_Quest").br();
}
};
} else if (name.equals("airship")) {
return new HtmlTemplate() {
@Override
protected void build(MarkupTag body) {
body.text("This text is not yet implemented.");
}
};
} else if (name.equals("ivory")) {
return new HtmlTemplate() {
@Override
protected void build(MarkupTag body) {
body.text(
"The Ivory Tower is the foremost temple of all Mystics. It has been "
+ "well known as such ever since the age of Elmoreden. I was born here, and "
+ "graduated from Einhovant's School of Wizardry. And now, I am working as a "
+ "gatekeeper by the order of the Ivory Tower. If you happen to go to the Ivory "
+ "Tower later on, please give my best regards to Grand Magister Valerie. She "
+ "is my teacher and a wonderful, caring person.")
.br();
body.addLink("Back", "npc_${npcid}");
}
};
}
return super.getChat(name);
}
}

View File

@@ -18,19 +18,18 @@ package script.template.item;
import com.google.inject.Inject;
import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider;
import com.l2jserver.model.template.ItemTemplate;
import com.l2jserver.model.template.capability.Stackable;
import com.l2jserver.model.template.item.EtcItemTemplate;
import com.l2jserver.model.world.Item;
public class AdenaItemTemplate extends ItemTemplate implements Stackable<Item> {
public class AdenaItemTemplate extends EtcItemTemplate implements
Stackable<Item> {
public static final int ID = 57;
@Inject
public AdenaItemTemplate(ItemTemplateIDProvider factory) {
super(factory.createID(ID));
this.icon = "icon.etc_adena_i00";
super(factory.createID(ID), "icon.etc_adena_i00", ItemMaterial.GOLD);
this.immediateEffect = true;
this.material = ItemMaterial.GOLD;
this.price = 1;
}
}

View File

@@ -0,0 +1,39 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package script.template.item;
import com.google.inject.Inject;
import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider;
import com.l2jserver.model.id.template.provider.SkillTemplateIDProvider;
import com.l2jserver.model.template.capability.Stackable;
import com.l2jserver.model.template.item.SkillEtcItemTemplate;
import com.l2jserver.model.world.Item;
public class LargaFireworkItemTemplate extends SkillEtcItemTemplate implements
Stackable<Item> {
public static final int ID = 6407;
@Inject
public LargaFireworkItemTemplate(ItemTemplateIDProvider provider,
SkillTemplateIDProvider skillProvider) {
// TODO set skill id
super(provider.createID(ID), "icon.etc_ultra_bomb_i00",
ItemMaterial.STEEL, skillProvider.createID(0));
this.immediateEffect = true;
this.price = 1;
}
}

View File

@@ -20,7 +20,6 @@ import com.google.inject.Inject;
import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider;
import com.l2jserver.model.world.capability.Attackable;
import com.l2jserver.model.world.capability.Attacker;
import com.l2jserver.model.world.capability.Damagable;
import com.l2jserver.model.world.capability.Enchantable;
public class Dummy2ArmorTemplate extends AbstractGradeAArmorTemplate {
@@ -39,10 +38,6 @@ public class Dummy2ArmorTemplate extends AbstractGradeAArmorTemplate {
public void defend(Attacker source, Attackable target) {
}
@Override
public void interceptIncomingDamage(Damagable target) {
}
@Override
public void enchant(Enchantable target) {
if (target.getEnchantLevel() >= MAX_ENCHANT)

View File

@@ -20,7 +20,6 @@ import com.google.inject.Inject;
import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider;
import com.l2jserver.model.world.capability.Attackable;
import com.l2jserver.model.world.capability.Attacker;
import com.l2jserver.model.world.capability.Damagable;
public class DummyArmorTemplate extends AbstractNoGradeArmorTemplate {
public static final int ID = 20;
@@ -37,10 +36,6 @@ public class DummyArmorTemplate extends AbstractNoGradeArmorTemplate {
public void defend(Attacker source, Attackable target) {
}
@Override
public void interceptIncomingDamage(Damagable target) {
}
@Override
public int getPhysicalDefense() {
return REDUCED_DAMAGE_PHYSICAL;