Files
sweetgum-server/scripts/npc/2100009.js
ronancpl b47dd03a3e Client Timestamp update + Cosmetic NPCs & H Beacon patch + Log rework
Fixed Music command not playing soundtracks at all.
Fixed stylish scripts stucking player NPC interactions in certain cases.
Reviewed client mistimed view on items, quest expirations, BBS threads, etc.
Fixed Homing Beacon skill provoking autoflag in mobs with same objectid in different maps.
Solved DB leak cases with removing pets from inventory.
Reviewed logging throughout the source, aiming to normalize the varied-spaced log content within the facilities.
Fixed a bug that would occur when trying to reaccess Horntail expedition.
2019-01-07 12:10:41 -02:00

107 lines
5.4 KiB
JavaScript

/* Author: aaroncsn <MapleSea Like>
NPC Name: Aldin
Map(s): The Burning Road: Ariant(2600000000)
Description: Ariant Plastic Surgery
GMS-like revised by Ronan. Contents found thanks to Mitsune (GamerBewbs), Waltzing, AyumiLove
*/
var status = 0;
var beauty = 0;
var mface_r = Array(20001, 20003, 20009, 20010, 20025, 20031);
var fface_r = Array(21002, 21009, 21011, 21013, 21016, 21029, 21030);
var facenew = Array();
function pushIfItemExists(array, itemid) {
if ((itemid = cm.getCosmeticItem(itemid)) != -1 && !cm.isCosmeticEquipped(itemid)) {
array.push(itemid);
}
}
function pushIfItemsExists(array, itemidList) {
for (var i = 0; i < itemidList.length; i++) {
var itemid = itemidList[i];
if ((itemid = cm.getCosmeticItem(itemid)) != -1 && !cm.isCosmeticEquipped(itemid)) {
array.push(itemid);
}
}
}
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode < 1) { // disposing issue with stylishs found thanks to Vcoc
if (type == 7) {
cm.sendNext("I see...take your time, see if you really want it. Let me know when you make up your mind.");
}
cm.dispose();
} else {
if (mode == 1)
status++;
else
status--;
if (status == 0) {
cm.sendSimple("Hi, I'm the face surgery assistant doctor from around here. With a #b#t5152029##k or a #b#t5152048##k, I can make it kick in just nice, trust me. Ah, don't forget, what comes next after the operation will be random! Then, what are you going for?\r\n#L1#Plastic Surgery: #i5152029##t5152029##l\r\n#L2#Cosmetic Lens: #i5152048##t5152048##l");
} else if (status == 1) {
if (selection == 1) {
beauty = 0;
facenew = Array();
if (cm.getChar().getGender() == 0) {
for(var i = 0; i < mface_r.length; i++) {
pushIfItemExists(facenew, mface_r[i] + cm.getChar().getFace()
% 1000 - (cm.getChar().getFace()
% 100));
}
}
if (cm.getChar().getGender() == 1) {
for(var i = 0; i < fface_r.length; i++) {
pushIfItemExists(facenew, fface_r[i] + cm.getChar().getFace()
% 1000 - (cm.getChar().getFace()
% 100));
}
}
cm.sendYesNo("If you use the regular coupon, your face may transform into a random new look...do you still want to do it using #b#t5152029##k?");
} else if (selection == 2) {
beauty = 1;
if (cm.getPlayer().getGender() == 0) {
var current = cm.getPlayer().getFace()
% 100 + 20000;
}
if (cm.getPlayer().getGender() == 1) {
var current = cm.getPlayer().getFace()
% 100 + 21000;
}
colors = Array();
pushIfItemsExists(colors, [current , current + 100, current + 300, current + 600, current + 700]);
cm.sendYesNo("If you use the regular coupon, you'll be awarded a random pair of cosmetic lenses. Are you going to use a #b#t5152048##k and really make the change to your eyes?");
}
} else if (status == 2){
cm.dispose();
if (beauty == 0) {
if (cm.haveItem(5152029) == true){
cm.gainItem(5152029, -1);
cm.setFace(facenew[Math.floor(Math.random() * facenew.length)]);
cm.sendOk("Enjoy your new and improved face!");
} else {
cm.sendNext("Um ... it looks like you don't have the coupon specifically for this place...sorry to say this, but without the coupon, there's no plastic surgery for you.");
}
} else if (beauty == 1) {
if (cm.haveItem(5152048)){
cm.gainItem(5152048, -1);
cm.setFace(colors[Math.floor(Math.random() * colors.length)]);
cm.sendOk("Enjoy your new and improved cosmetic lenses!");
} else {
cm.sendOk("Hmm ... it looks like you don't have the coupon specifically for this place. Sorry to say this, but without the coupon, there's no plastic surgery for you...");
}
}
}
}
}